#ifndef __lib_gui_decoration_h #define __lib_gui_decoration_h #include #include #include class gPixmap; class gPainter; class eDecoration { ePtr iTopLeft, iTop, iTopRight, iLeft, iRight, iBottomLeft, iBottom, iBottomRight; eString basename; public: operator bool() { return iTopLeft || iTop || iTopRight || iLeft || iRight || iBottomLeft || iBottom || iBottomRight; } eDecoration(); bool load(const eString& basename); void drawDecoration(gPainter *target, ePoint size ); int borderTop, borderLeft, borderBottom, borderRight; }; class eDecoWidget:public eWidget { protected: eString strDeco; eRect crect, crect_selected; eDecoration deco, deco_selected; int setProperty( const eString &prop, const eString &value); int eventFilter( const eWidgetEvent &evt); public: void setDeco( const char* deco ) { strDeco = deco; } void loadDeco(); eDecoWidget( eWidget* parent=0, int takefocus=0, const char* deco="" ) :eWidget(parent, takefocus), strDeco( deco ) { } const eDecoration& getDeco() { return deco; } const eDecoration& getDecoSelected() { return deco_selected; } }; #endif