|
Rapicorn - Experimental UI Toolkit - Source Code 10.08.1
|
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__ */
1.7.4