Rapicorn - Experimental UI Toolkit - Source Code 10.08.1
paintitems.hh
Go to the documentation of this file.
00001 /* Rapicorn
00002  * Copyright (C) 2006 Tim Janik
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * A copy of the GNU Lesser General Public License should ship along
00015  * with this library; if not, see http://www.gnu.org/copyleft/.
00016  */
00017 #ifndef __RAPICORN_PAINT_ITEMS_HH__
00018 #define __RAPICORN_PAINT_ITEMS_HH__
00019 
00020 #include <ui/item.hh>
00021 
00022 namespace Rapicorn {
00023 
00024 class Arrow : public virtual ItemImpl {
00025 protected:
00026   virtual
00027   const PropertyList&    list_properties();
00028 public:
00029   virtual void           arrow_dir      (DirType dir) = 0;
00030   virtual DirType        arrow_dir      () const = 0;
00031   virtual void           size_policy    (SizePolicyType spol) = 0;
00032   virtual SizePolicyType size_policy    () const = 0;
00033 };
00034 
00035 class DotGrid : public virtual ItemImpl {
00036   FrameType             dot_type        () const { RAPICORN_ASSERT_NOT_REACHED(); }
00037 protected:
00038   virtual
00039   const PropertyList&   list_properties     ();
00040 public:
00041   void                  dot_type            (FrameType ft);
00042   virtual void          normal_dot          (FrameType ft) = 0;
00043   virtual FrameType     normal_dot          () const = 0;
00044   virtual void          impressed_dot       (FrameType ft) = 0;
00045   virtual FrameType     impressed_dot       () const = 0;
00046   virtual void          n_hdots             (uint   num) = 0;
00047   virtual uint          n_hdots             () const = 0;
00048   virtual void          n_vdots             (uint   num) = 0;
00049   virtual uint          n_vdots             () const = 0;
00050   virtual uint          right_padding_dots  () const  = 0;
00051   virtual void          right_padding_dots  (uint c)  = 0;
00052   virtual uint          top_padding_dots    () const  = 0;
00053   virtual void          top_padding_dots    (uint c)  = 0;
00054   virtual uint          left_padding_dots   () const  = 0;
00055   virtual void          left_padding_dots   (uint c)  = 0;
00056   virtual uint          bottom_padding_dots () const  = 0;
00057   virtual void          bottom_padding_dots (uint c)  = 0;
00058 };
00059 
00060 class DrawableImpl : public virtual ItemImpl, public virtual DrawableIface {
00061   PixelRectImpl m_pic;
00062 protected:
00063   virtual void  draw_rect       (const PixelRectImpl &pixrect);
00064   virtual void  size_request    (Requisition &requisition);
00065   virtual void  size_allocate   (Allocation area);
00066   virtual void  render          (Display &display);
00067 public:
00068   explicit      DrawableImpl    ();
00069 };
00070 
00071 } // Rapicorn
00072 
00073 #endif  /* __RAPICORN_PAINT_ITEMS_HH__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines