summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
Diffstat (limited to 'FL')
-rw-r--r--FL/Fl_Window.H25
-rw-r--r--FL/Fl_Window_Driver.H7
2 files changed, 9 insertions, 23 deletions
diff --git a/FL/Fl_Window.H b/FL/Fl_Window.H
index 8884d0b67..63aa67ec0 100644
--- a/FL/Fl_Window.H
+++ b/FL/Fl_Window.H
@@ -23,7 +23,8 @@
#define Fl_Window_H
#ifdef WIN32
-#include <windows.h>
+//#include <windows.h>
+typedef struct HICON__* HICON;
#endif
#include "Fl_Group.H"
@@ -75,22 +76,6 @@ class FL_EXPORT Fl_Window : public Fl_Group {
Fl_X *i; // points at the system-specific stuff, but exists only after the window is mapped
Fl_Window_Driver *pWindowDriver; // points at the system-specific stuff at window creatino time
- struct icon_data {
- const void *legacy_icon;
- Fl_RGB_Image **icons;
- int count;
-#ifdef WIN32
- HICON big_icon;
- HICON small_icon;
-#elif defined(__APPLE__) // PORTME: Fl_Window_Driver - per-window icons, move to FL_X/Fl_Window_Driver
- // not needed
-#elif defined(FL_PORTING)
-# pragma message "FL_PORTING: define storage for per-window icons here if needed"
-#else // X11
- // not needed
-#endif
- };
-
const char* iconlabel_;
char* xclass_;
struct icon_data *icon_;
@@ -422,12 +407,6 @@ public:
#ifdef WIN32
static void default_icons(HICON big_icon, HICON small_icon);
void icons(HICON big_icon, HICON small_icon);
-#elif defined(__APPLE__) // PORTME: Fl_Window_Driver - per-window icon
- // not needed
-#elif defined(FL_PORTING)
-# pragma message "FL_PORTING: define functions to handle window icons here if needed"
-#else // X11
- // not needed
#endif
/* for legacy compatibility */
diff --git a/FL/Fl_Window_Driver.H b/FL/Fl_Window_Driver.H
index 98934a3d4..2ab4bf192 100644
--- a/FL/Fl_Window_Driver.H
+++ b/FL/Fl_Window_Driver.H
@@ -36,8 +36,11 @@ class Fl_Image;
*/
class FL_EXPORT Fl_Window_Driver {
friend class Fl_Window;
+ friend class Fl_X;
protected:
Fl_Window *pWindow;
+ struct icon_data;
+ icon_data *icon_;
struct shape_data_type;
shape_data_type *shape_data_; ///< non-null means the window has a non-rectangular shape
public:
@@ -55,6 +58,10 @@ public:
void shape_pixmap_(Fl_Image* pixmap);
virtual void shape(const Fl_Image* img) {}
virtual void shape_alpha_(Fl_Image* img, int offset) {}
+ virtual void icons(const Fl_RGB_Image *icons[], int count) {}
+ virtual const void *icon() const {return NULL;}
+ virtual void icon(const void * ic) {}
+ virtual void free_icons() {}
};