diff --git a/src/lib/views/sunlight/include/vButton.h b/src/lib/views/sunlight/include/vButton.h index fa63da0..1e2ffac 100644 --- a/src/lib/views/sunlight/include/vButton.h +++ b/src/lib/views/sunlight/include/vButton.h @@ -6,7 +6,8 @@ class vButton : public vContext { protected: public: - vButton(vContext *); - virtual ~vButton(); + vButton(vContext *); + virtual bool vCreate(void); + virtual ~vButton(); }; // vButton #endif diff --git a/src/lib/views/sunlight/include/vContext.h b/src/lib/views/sunlight/include/vContext.h index dccbc8f..4dcd7b0 100644 --- a/src/lib/views/sunlight/include/vContext.h +++ b/src/lib/views/sunlight/include/vContext.h @@ -20,11 +20,14 @@ public: vContext(vContext *); virtual vContext * vAttach(vContext *); + virtual bool vCreate(void) = 0; virtual void vDeleteAllStyles(void) { styles.clear(); }; virtual bool vDeleteStyle(const std::string); virtual void vDraw(void) = 0; virtual vContext * vDetach(vContext *); + virtual uInt32 vGetHeight(void) { return height; }; virtual sStyle * vGetStyle(const std::string); + virtual uInt32 vGetWidth(void) { return width; }; virtual bool vIsAttached(void) { return attached; } virtual void vSetPos(int32, int32); virtual void vSetSize(uInt32, uInt32); diff --git a/src/lib/views/sunlight/vButton.cpp b/src/lib/views/sunlight/vButton.cpp index e3b816f..ed1fb37 100644 --- a/src/lib/views/sunlight/vButton.cpp +++ b/src/lib/views/sunlight/vButton.cpp @@ -1,12 +1,43 @@ #include #include #include +#include +#include vButton::vButton(vContext * parent) : vContext(parent) { - return; } // vButton::vButton +bool +vButton::vCreate(void) { + bool result = false; + sPixelFormat * pixFmt; + sSize * borderSize; +// ogRGBA8 colour; + + do { + borderSize = dynamic_cast(vGetStyle("default.button.border.size")); + if (borderSize == NULL) break; + + pixFmt = dynamic_cast(vGetStyle("default.desktop.pixelformat")); + if (pixFmt == NULL) break; + + if (!realView->ogCreate(vGetWidth()+borderSize->size, + vGetHeight()+borderSize->size, + *pixFmt)) break; + + if (!ogAlias(*realView, + borderSize->size, + borderSize->size, + realView->ogGetMaxX()-borderSize->size, + realView->ogGetMaxY()-borderSize->size)) break; + + result = true; + } while (false); + + return result; +} // vButton::vCreate + vButton::~vButton(void) { return; } // vButton::~vButton diff --git a/src/lib/views/sunlight/vTitleTab.cpp b/src/lib/views/sunlight/vTitleTab.cpp index c0e62a5..c342ec8 100644 --- a/src/lib/views/sunlight/vTitleTab.cpp +++ b/src/lib/views/sunlight/vTitleTab.cpp @@ -24,7 +24,7 @@ if (NULL != color) font->SetBGColor(color->red, color->blue, color->green, color->alpha); - color = dynamic_cast(vGetStyle("defualt.font.color.foreground")); + color = dynamic_cast(vGetStyle("default.font.color.foreground")); if (color != NULL) font->SetFGColor(color->red, color->blue, color->green, color->alpha); @@ -34,7 +34,7 @@ void vTitleTab::vDraw(void) { ogPoint2d points[4]; - sBGColor * BGColor = dynamic_cast(vGetStyle("passive title color")); + sBGColor * BGColor = dynamic_cast(vGetStyle("default.title.color.passive")); if (BGColor == NULL) return; points[0].x = points[0].y = points[1].y = points[3].x = 0;