Implemented rotation and reflection

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@536 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2007-07-09 22:38:34 +00:00
parent c7d31ddb4a
commit 1c04a718ac
11 changed files with 122 additions and 52 deletions
+6 -2
View File
@@ -32,14 +32,18 @@ enum HighlightStyle
class SymbolViewer : public SymbolView {
public:
// --------------------------------------------------- : Data
SymbolViewer(const SymbolP& symbol, double border_radius = 0.05);
SymbolViewer(const SymbolP& symbol, double size = 500, double border_radius = 0.05);
// drawing
double border_radius;
// --------------------------------------------------- : Point translation
void setZoom(double zoom);
Rotation rotation; ///< Object that handles rotation, scaling and translation
Matrix2D multiply; ///< Scaling/rotation of actual parts
Vector2D origin; ///< Origin of parts
// --------------------------------------------------- : Drawing
@@ -57,7 +61,7 @@ class SymbolViewer : public SymbolView {
typedef shared_ptr<wxMemoryDC> MemoryDCP;
/// Combine a symbol part with the dc
void SymbolViewer::combineSymbolPart(DC& dc, const SymbolPart& part, bool& paintedSomething, bool& buffersFilled, MemoryDCP& borderDC, MemoryDCP& interiorDC);
void SymbolViewer::combineSymbolPart(DC& dc, const SymbolPart& part, bool& paintedSomething, bool& buffersFilled, bool allow_overlap, MemoryDCP& borderDC, MemoryDCP& interiorDC);
/// Combines a symbol part with what is currently drawn, the border and interior are drawn separatly
/** directB/directI are true if the border/interior is the screen dc, false if it