tahoma2d/toonz/sources/include/tellipticbrush.h

86 lines
1.9 KiB
C
Raw Normal View History

2016-05-17 03:04:11 +12:00
#pragma once
2016-03-19 06:57:51 +13:00
//-----------------------------------------------------------------------------
// tellipticbrush.h: interface for the TEllipticBrush class.
//-----------------------------------------------------------------------------
#if !defined(TELLIPTIC_BRUSH_H)
#define TELLIPTIC_BRUSH_H
#ifdef PER_VECCHIO_ELLIPTIC_BRUSH
#include "tbrush.h"
#undef DVAPI
#undef DVVAR
#ifdef TVRENDER_EXPORTS
#define DVAPI DV_EXPORT_API
#define DVVAR DV_EXPORT_VAR
#else
#define DVAPI DV_IMPORT_API
#define DVVAR DV_IMPORT_VAR
#endif
//=============================================================================
// forward declaration
class TStroke;
//=============================================================================
2016-06-15 18:43:10 +12:00
/*!
2016-03-19 06:57:51 +13:00
| /
__b__ / \ angle in degree
2016-06-15 18:43:10 +12:00
/ | \ |
2016-03-19 06:57:51 +13:00
----|---o---a--|-- >
\__|__/
|
N.B. Imp manages angle in radiant.
*/
//=============================================================================
2016-06-15 18:43:10 +12:00
class DVAPI TEllipticBrush : public TBrush {
struct Imp;
Imp *m_imp;
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
// TEllipticBrush(double a = 1,double b = 1, double angleInDegree = 0); //
// per brush ellittico
TEllipticBrush();
TEllipticBrush(const TEllipticBrush &brush);
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
virtual ~TEllipticBrush();
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
void makeOutline(const TStroke &stroke, TStrokeOutline &outline,
const OutlineParameter &param);
void draw();
/*
2016-03-19 06:57:51 +13:00
// per brush ellittico
2016-06-15 18:43:10 +12:00
void setAngle(double angleInDegree);
double getAngle() const;
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
double getSemiAxisA() const;
void setSemiAxisA(double);
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
double getSemiAxisB() const;
void setSemiAxisB(double);
2016-03-19 06:57:51 +13:00
*/
2016-06-15 18:43:10 +12:00
TBrush *clone();
2016-03-19 06:57:51 +13:00
private:
2016-06-15 18:43:10 +12:00
// not implemented
TEllipticBrush &operator=(const TEllipticBrush &brush);
2016-03-19 06:57:51 +13:00
};
2016-06-15 18:43:10 +12:00
#endif // PER_VECCHIO_ELLIPTIC_BRUSH
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
#endif // !defined(TELLIPTIC_BRUSH_H)
2016-03-19 06:57:51 +13:00
//-----------------------------------------------------------------------------
// End Of File
//-----------------------------------------------------------------------------