diff options
Diffstat (limited to 'beos/liblayout/MWindow.h')
-rw-r--r-- | beos/liblayout/MWindow.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/beos/liblayout/MWindow.h b/beos/liblayout/MWindow.h new file mode 100644 index 000000000..6118f87bc --- /dev/null +++ b/beos/liblayout/MWindow.h @@ -0,0 +1,62 @@ + +#ifndef _MWINDOW_H +#define _MWINDOW_H + +#include "layout.h" +#include <Window.h> + +class BPopUpMenu; + +#if __POWERPC__ +#pragma simple_class_byval off +#endif + +class IMPEXPLIBLAYOUT MWindow : public BWindow +{ + public: + ulong flags; + + MWindow(BRect r,const char *name,window_type type,uint32 flags, uint32 workspaces=B_CURRENT_WORKSPACE); + MWindow(BRect r,const char *name,window_look look, window_feel feel,uint32 flags, uint32 workspaces=B_CURRENT_WORKSPACE); + MWindow(BMessage*); + virtual ~MWindow(); + virtual long Archive(BMessage *archive, bool deep=true) const; + static BArchivable *Instantiate(BMessage *archive); + + virtual const BFont *getfont(fontspec font); + + virtual void MessageReceived(BMessage *message); + virtual void Show(); + virtual void RecalcSize(); + virtual void FrameResized(float width, float height); + + virtual status_t GetSupportedSuites(BMessage *message); + virtual BHandler *ResolveSpecifier(BMessage *message, int32 index, BMessage *specifier, int32 command, const char *property); + virtual void ScreenChanged(BRect frame, color_space mode); + virtual void WorkspaceActivated(int32 workspace, bool active); + + void StartDragging(); + static long _mousetracker(void *arg); + void _MouseTracker(); + + private: + virtual void _expansionmwindow1(); + virtual void _expansionmwindow2(); + virtual void _expansionmwindow3(); + + void initobject(); + BFont **fontlist; + BRect lastrect; + BPopUpMenu *pop; + thread_id mousethread; + BPoint dragpoint; + + uint32 _expansiondata[1]; +}; + +enum { + M_WIN_AUTORESIZE =0x00000100, + M_WIN_ESCAPETOCLOSE=0x00000200 +}; + +#endif // MWINDOW_H |