// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma hdrstop
#endif
-
+#include "wx/event.h"
#include "wx/gdicmn.h"
#include "wx/brush.h"
#include "wx/pen.h"
y = topLeft.y;
width = bottomRight.x - topLeft.x;
height = bottomRight.y - topLeft.y;
-
+
if (width < 0)
{
width = -width;
x -= width;
}
-
+
if (height < 0)
{
height = -height;
- x -= height;
+ y -= height;
}
}
wxRect::wxRect(const wxRect& rect)
{
- x = rect.x;
- y = rect.y;
- width = rect.width;
+ x = rect.x;
+ y = rect.y;
+ width = rect.width;
height = rect.height;
}
// Don't initialize for X: colours are found
// in FindColour below.
// Added: Not all
-
+
struct cdef {
char *name;
int r,g,b;
};
cdef cc;
static cdef table[]={
-
+
// #ifdef __WXMSW__
{"AQUAMARINE",112, 219, 147},
{"BLACK",0, 0, 0},
{"LIGHT MAGENTA", 255, 0, 255},
{"MEDIUM GREY", 100, 100, 100},
#endif
-
+
{0,0,0,0}
};
int i;
wxNode *node = Find(str);
if (node)
return (wxColour *)node->Data();
-
+
#ifdef __WXMSW__
else return NULL;
#endif
// TODO for other implementations. This should really go into
// platform-specific directories.
+#ifdef __WXMAC__
+ else return NULL;
+#endif
#ifdef __WXSTUBS__
else return NULL;
#endif
#ifdef __WXGTK__
else {
wxColour *col = new wxColour( colour );
-
+
if (!(col->Ok())) {
delete col;
return (wxColour *) NULL;
unsigned char red = colour.Red ();
unsigned char green = colour.Green ();
unsigned char blue = colour.Blue ();
-
+
for (wxNode * node = First (); node; node = node->Next ())
{
wxColour *col = (wxColour *) node->Data ();
-
+
if (col->Red () == red && col->Green () == green && col->Blue () == blue)
- {
- const char *found = node->GetKeyString();
- if (found)
- return wxString(found);
- }
+ {
+ const char *found = node->GetKeyString();
+ if (found)
+ return wxString(found);
+ }
}
- return wxString(""); // Not Found
+ return wxString(""); // Not Found
}
wxCROSS_CURSOR = new wxCursor (wxCURSOR_CROSS);
}
-void
-wxDeleteStockObjects ()
+void wxDeleteStockObjects ()
{
wxDELETE(wxNORMAL_FONT);
wxDELETE(wxSMALL_FONT);
wxBitmapList::~wxBitmapList ()
{
-#ifdef __WXMSW__
-
+#if defined(__WXMSW__) || defined(__WXMOTIF__)
wxNode *node = First ();
while (node)
{
// Pen and Brush lists
wxPenList::~wxPenList ()
{
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || defined(__WXMOTIF__)
wxNode *node = First ();
while (node)
{
{
wxPen *each_pen = (wxPen *) node->Data ();
if (each_pen && each_pen->GetVisible() &&
- each_pen->GetWidth () == width &&
- each_pen->GetStyle () == style &&
- each_pen->GetColour ().Red () == colour.Red () &&
- each_pen->GetColour ().Green () == colour.Green () &&
- each_pen->GetColour ().Blue () == colour.Blue ())
- return each_pen;
+ each_pen->GetWidth () == width &&
+ each_pen->GetStyle () == style &&
+ each_pen->GetColour ().Red () == colour.Red () &&
+ each_pen->GetColour ().Green () == colour.Green () &&
+ each_pen->GetColour ().Blue () == colour.Blue ())
+ return each_pen;
}
wxPen *pen = new wxPen (colour, width, style);
wxBrushList::~wxBrushList ()
{
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || defined(__WXMOTIF__)
wxNode *node = First ();
while (node)
{
{
wxBrush *each_brush = (wxBrush *) node->Data ();
if (each_brush && each_brush->GetVisible() &&
- each_brush->GetStyle () == style &&
- each_brush->GetColour ().Red () == colour.Red () &&
- each_brush->GetColour ().Green () == colour.Green () &&
- each_brush->GetColour ().Blue () == colour.Blue ())
- return each_brush;
+ each_brush->GetStyle () == style &&
+ each_brush->GetColour ().Red () == colour.Red () &&
+ each_brush->GetColour ().Green () == colour.Green () &&
+ each_brush->GetColour ().Blue () == colour.Blue ())
+ return each_brush;
}
// Yes, we can return a pointer to this in a later FindOrCreateBrush call,
// because we created it within FindOrCreateBrush. Safeguards against
wxNode *node = First ();
while (node)
{
- // Only delete objects that are 'visible', i.e.
- // that have been created using FindOrCreate...,
- // where the pointers are expected to be shared
- // (and therefore not deleted by any one part of an app).
+ // Only delete objects that are 'visible', i.e.
+ // that have been created using FindOrCreate...,
+ // where the pointers are expected to be shared
+ // (and therefore not deleted by any one part of an app).
wxFont *font = (wxFont *) node->Data ();
wxNode *next = node->Next ();
- if (font->GetVisible())
- delete font;
+ if (font->GetVisible())
+ delete font;
node = next;
}
}
}
wxFont *wxFontList::
- FindOrCreateFont (int PointSize, int FamilyOrFontId, int Style, int Weight, bool underline, const wxString& Face)
+ FindOrCreateFont (int PointSize, int FamilyOrFontId, int Style, int Weight, bool underline, const wxString& Face)
{
for (wxNode * node = First (); node; node = node->Next ())
{
wxFont *each_font = (wxFont *) node->Data ();
if (each_font && each_font->GetVisible() && each_font->Ok() &&
- each_font->GetPointSize () == PointSize &&
- each_font->GetStyle () == Style &&
- each_font->GetWeight () == Weight &&
- each_font->GetUnderlined () == underline &&
- //#if defined(__X__)
- // each_font->GetFontId () == FamilyOrFontId) /* New font system */
- //#else
- each_font->GetFamily () == FamilyOrFontId &&
- (!each_font->GetFaceName() || each_font->GetFaceName() == Face))
- //#endif
- return each_font;
+ each_font->GetPointSize () == PointSize &&
+ each_font->GetStyle () == Style &&
+ each_font->GetWeight () == Weight &&
+ each_font->GetUnderlined () == underline &&
+ //#if defined(__X__)
+ // each_font->GetFontId () == FamilyOrFontId) /* New font system */
+ //#else
+ each_font->GetFamily () == FamilyOrFontId &&
+ ((each_font->GetFaceName() == "") || each_font->GetFaceName() == Face))
+ //#endif
+ return each_font;
}
wxFont *font = new wxFont (PointSize, FamilyOrFontId, Style, Weight, underline, Face);
font->SetVisible(TRUE);
}
void wxBitmapList::AddBitmap(wxBitmap *bitmap)
-{ Append(bitmap); }
+{
+ Append(bitmap);
+}
+
void wxBitmapList::RemoveBitmap(wxBitmap *bitmap)
-{ DeleteObject(bitmap); }
+{
+ DeleteObject(bitmap);
+}
wxSize wxGetDisplaySize()
{
return wxSize(x, y);
}
-wxResourceCache::~wxResourceCache () {
+wxResourceCache::~wxResourceCache ()
+{
wxNode *node = First ();
while (node) {
wxGDIObject *item = (wxGDIObject *)node->Data();