]> Shamusworld >> Repos - apple2/blobdiff - src/gui/element.cpp
Add new files that makes this stuff work. D'oh!
[apple2] / src / gui / element.cpp
index bbaff3cc757598c1e826b7c1387013b16667a1c0..cf60ac3af3a6f45a9c526e97ea6202ab484f5ca3 100755 (executable)
@@ -41,7 +41,7 @@ SDL_Surface * Element::screen = NULL;
 bool Element::needToRefreshScreen = false;
 
 Element::Element(uint32 x/*= 0*/, uint32 y/*= 0*/, uint32 w/*= 0*/, uint32 h/*= 0*/,
-       Element * parentElement/*= NULL*/):     parent(parentElement), backstore(NULL)
+       Element * parentElement/*= NULL*/):     parent(parentElement), backstore(NULL), visible(true)
 {
        extents.x = x,
        extents.y = y,
@@ -53,7 +53,7 @@ Element::Element(uint32 x/*= 0*/, uint32 y/*= 0*/, uint32 w/*= 0*/, uint32 h/*=
 Element::Element(uint32 x, uint32 y, uint32 w, uint32 h,
        uint8 fgR/*= 0xFF*/, uint8 fgG/*= 0xFF*/, uint8 fgB/*= 0xFF*/, uint8 fgA/*= 0xFF*/,
        uint8 bgR/*= 0x00*/, uint8 bgG/*= 0x00*/, uint8 bgB/*= 0x00*/, uint8 bgA/*= 0xFF*/,
-       Element * parentElement/*= NULL*/): parent(parentElement), backstore(NULL)
+       Element * parentElement/*= NULL*/): parent(parentElement), backstore(NULL), visible(true)
 {
        extents.x = x,
        extents.y = y,
@@ -61,11 +61,16 @@ Element::Element(uint32 x, uint32 y, uint32 w, uint32 h,
        extents.h = h;
        coverList.push_back(extents);
 
+#if 0
        // This *should* allow us to store our colors in an endian safe way... :-/
        uint8 * c = (uint8 *)&fgColor;
        c[0] = fgR, c[1] = fgG, c[2] = fgB, c[3] = fgA;
        c = (uint8 *)&bgColor;
        c[0] = bgR, c[1] = bgG, c[2] = bgB, c[3] = bgA;
+#else
+       fgColor = SDL_MapRGBA(screen->format, fgR, fgG, fgB, fgA);
+       bgColor = SDL_MapRGBA(screen->format, bgR, bgG, bgB, bgA);
+#endif
 }
 
 Element::~Element()
@@ -287,6 +292,11 @@ Steps:
        }
 }
 
+void Element::SetVisible(bool visibility)
+{
+       visible = visibility;
+}
+
 //
 // Class methods
 //