Rapicorn - Experimental UI Toolkit - Source Code  13.07.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
paintwidgets.hh
Go to the documentation of this file.
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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines