//+----------------------------------------------------------------------------+ //| Description: Magic Set Editor - Program to make Magic (tm) cards | //| Copyright: (C) 2001 - 2008 Twan van Laarhoven and "coppro" | //| License: GNU General Public License 2 or later (see file COPYING) | //+----------------------------------------------------------------------------+ #ifndef HEADER_RENDER_VALUE_IMAGE #define HEADER_RENDER_VALUE_IMAGE // ----------------------------------------------------------------------------- : Includes #include #include #include DECLARE_POINTER_TYPE(AlphaMask); // ----------------------------------------------------------------------------- : ImageValueViewer /// Viewer that displays an image value class ImageValueViewer : public ValueViewer { public: DECLARE_VALUE_VIEWER(Image) : ValueViewer(parent,style) {} virtual void draw(RotatedDC& dc); virtual bool containsPoint(const RealPoint& p) const; virtual void onValueChange(); virtual void onStyleChange(int); private: Bitmap bitmap; ///< Cached bitmap RealSize size; ///< Size of cached bitmap int angle; ///< Angle of cached bitmap int is_default; ///< Is the default placeholder image used? mutable AlphaMaskP alpha_mask; void loadMask(const Rotation& rot) const; /// Generate a placeholder image static Bitmap imagePlaceholder(const Rotation& rot, UInt w, UInt h, const Image& background, bool editing); /// Draws a border around the field void drawFieldBorder(RotatedDC& dc); }; // ----------------------------------------------------------------------------- : EOF #endif