Rapicorn - Experimental UI Toolkit - Source Code
13.07.0
|
00001 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __RAPICORN_PAINT_WIDGETS_HH__ 00003 #define __RAPICORN_PAINT_WIDGETS_HH__ 00004 00005 #include <ui/widget.hh> 00006 00007 namespace Rapicorn { 00008 00009 class Arrow : public virtual WidgetImpl { 00010 protected: 00011 virtual 00012 const PropertyList& __aida_properties__(); 00013 public: 00014 virtual void arrow_dir (DirType dir) = 0; 00015 virtual DirType arrow_dir () const = 0; 00016 virtual void size_policy (SizePolicyType spol) = 0; 00017 virtual SizePolicyType size_policy () const = 0; 00018 }; 00019 00020 class DotGrid : public virtual WidgetImpl { 00021 FrameType dot_type () const { RAPICORN_ASSERT_UNREACHED(); } 00022 protected: 00023 virtual 00024 const PropertyList& __aida_properties__ (); 00025 public: 00026 void dot_type (FrameType ft); 00027 virtual void normal_dot (FrameType ft) = 0; 00028 virtual FrameType normal_dot () const = 0; 00029 virtual void impressed_dot (FrameType ft) = 0; 00030 virtual FrameType impressed_dot () const = 0; 00031 virtual void n_hdots (uint num) = 0; 00032 virtual uint n_hdots () const = 0; 00033 virtual void n_vdots (uint num) = 0; 00034 virtual uint n_vdots () const = 0; 00035 virtual uint right_padding_dots () const = 0; 00036 virtual void right_padding_dots (uint c) = 0; 00037 virtual uint top_padding_dots () const = 0; 00038 virtual void top_padding_dots (uint c) = 0; 00039 virtual uint left_padding_dots () const = 0; 00040 virtual void left_padding_dots (uint c) = 0; 00041 virtual uint bottom_padding_dots () const = 0; 00042 virtual void bottom_padding_dots (uint c) = 0; 00043 }; 00044 00045 class DrawableImpl : public virtual WidgetImpl, public virtual DrawableIface { 00046 Pixbuf pixbuf_; int x_, y_; 00047 protected: 00048 virtual void draw_rect (int x, int y, const Pixbuf &pixbuf); 00049 virtual void size_request (Requisition &requisition); 00050 virtual void size_allocate (Allocation area, bool changed); 00051 virtual void render (RenderContext &rcontext, const Rect &rect); 00052 virtual const PropertyList& __aida_properties__ (); 00053 public: 00054 explicit DrawableImpl (); 00055 }; 00056 00057 } // Rapicorn 00058 00059 #endif /* __RAPICORN_PAINT_WIDGETS_HH__ */