47 class FXComposeContext;
78 enum FXDefaultCursor {
90 DEF_DRAGBR_CURSOR=DEF_DRAGTL_CURSOR,
92 DEF_DRAGBL_CURSOR=DEF_DRAGTR_CURSOR,
186 FXRepaint *repaintrecs;
187 FXInvocation *invocation;
189 FXint signalreceived;
211 FXTime autoHideDelay;
221 FXColor selforeColor;
222 FXColor selbackColor;
223 FXColor tipforeColor;
224 FXColor tipbackColor;
225 FXColor selMenuTextColor;
226 FXColor selMenuBackColor;
230 FXCursor *cursor[DEF_WAIT_CURSOR+1];
233 const FXchar *
const *appArgv;
234 const FXchar *inputmethod;
235 const FXchar *inputstyle;
246 FXDragType ddeDelete;
247 FXDragType *ddeTypeList;
249 FXDragAction ddeAction;
250 FXDragAction ansAction;
251 FXDragType *xselTypeList;
257 FXbool xdndStatusPending;
258 FXbool xdndFinishPending;
259 FXbool xdndStatusReceived;
260 FXbool xdndFinishSent;
273 FXID wmClientMachine;
277 FXID wmNetWindowName;
281 FXID wmNetHMaximized;
282 FXID wmNetVMaximized;
283 FXID wmNetFullScreen;
284 FXID wmNetBelowOthers;
285 FXID wmNetAboveOthers;
286 FXID wmNetNeedAttention;
287 FXID wmNetActiveWindow;
288 FXID wmNetMoveResize;
292 FXID wmNetWindowType;
293 FXID wmWindowTypes[14];
304 FXDragType *ddeTypeList;
306 FXDragAction ddeAction;
307 FXDragAction ansAction;
309 FXDragType *xcbTypeList;
311 FXDragType *xselTypeList;
313 FXDragType *xdndTypeList;
326 FXID xdndActionList[6];
329 FXID xdndProxyTarget;
330 FXbool xdndStatusPending;
331 FXbool xdndStatusReceived;
332 FXbool xdndWantUpdates;
333 FXbool xdndFinishSent;
335 FXint xrrScreenChange;
336 FXint xfxFixesSelection;
353 static void CDECL signalhandler(
int sig);
354 static void CDECL immediatesignalhandler(
int sig);
357 void selectionSetData(
const FXWindow* window,FXDragType type,FXuchar* data,FXuint size);
358 void selectionGetData(
const FXWindow* window,FXDragType type,FXuchar*& data,FXuint& size);
359 void selectionGetTypes(
const FXWindow* window,FXDragType*& types,FXuint& numtypes);
360 void clipboardSetData(
const FXWindow* window,FXDragType type,FXuchar* data,FXuint size);
361 void clipboardGetData(
const FXWindow* window,FXDragType type,FXuchar*& data,FXuint& size);
362 void clipboardGetTypes(
const FXWindow* window,FXDragType*& types,FXuint& numtypes);
363 void dragdropSetData(
const FXWindow* window,FXDragType type,FXuchar* data,FXuint size);
364 void dragdropGetData(
const FXWindow* window,FXDragType type,FXuchar*& data,FXuint& size);
365 void dragdropGetTypes(
const FXWindow* window,FXDragType*& types,FXuint& numtypes);
366 void openInputDevices();
367 void closeInputDevices();
369 static FXival CALLBACK wndproc(FXID hwnd,FXuint iMsg,FXuval wParam,FXival lParam);
371 virtual FXival dispatchEvent(FXID hwnd,FXuint iMsg,FXuval wParam,FXival lParam);
373 void addRepaint(FXID win,FXint x,FXint y,FXint w,FXint h,FXbool synth=
false);
374 void removeRepaints(FXID win,FXint x,FXint y,FXint w,FXint h);
375 void scrollRepaints(FXID win,FXint dx,FXint dy);
376 static void imcreatecallback(
void*,
FXApp*,
void*);
377 static void imdestroycallback(
void*,
FXApp*,
void*);
383 virtual FXbool getNextEvent(FXRawEvent& ev,FXTime blocking=forever);
386 virtual FXbool dispatchEvent(FXRawEvent& ev);
389 long onCmdQuit(
FXObject*,FXSelector,
void*);
390 long onCmdDump(
FXObject*,FXSelector,
void*);
391 long onCmdHover(
FXObject*,FXSelector,
void*);
406 static const FXuchar copyright[];
418 void setAppName(
const FXString& name);
424 void setVendorName(
const FXString& name);
427 const FXString& getVendorName()
const;
430 FXbool hasInputMethod()
const;
433 void setDefaultVisual(
FXVisual* vis);
469 FXWindow* findWindowWithId(FXID xid)
const;
472 FXWindow* findWindowAt(FXint rx,FXint ry,FXID window=0)
const;
475 void setNormalFont(
FXFont* font);
481 void beginWaitCursor();
484 void endWaitCursor();
493 void setDefaultCursor(FXDefaultCursor which,
FXCursor* cur);
499 FXDragType registerDragType(
const FXString& name)
const;
502 FXString getDragTypeName(FXDragType type)
const;
519 virtual FXbool openDisplay(
const FXchar* dpy=
nullptr);
522 virtual FXbool closeDisplay();
535 FXptr addTimeout(
FXObject* tgt,FXSelector sel,FXTime ns=1000000000,FXptr ptr=
nullptr);
546 FXptr addDeadline(
FXObject* tgt,FXSelector sel,FXTime due=forever,FXptr ptr=
nullptr);
553 FXptr removeTimeout(
FXObject* tgt,FXSelector sel=0);
559 FXbool hasTimeout(
FXObject *tgt,FXSelector sel=0)
const;
568 FXTime remainingTimeout(
FXObject *tgt,FXSelector sel=0)
const;
578 FXptr addChore(
FXObject* tgt,FXSelector sel,FXptr ptr=
nullptr);
585 FXptr removeChore(
FXObject* tgt,FXSelector sel=0);
591 FXbool hasChore(
FXObject *tgt,FXSelector sel=0)
const;
600 void addSignal(FXint sig,
FXObject* tgt,FXSelector sel,FXbool immediate=
false,FXuint flags=0);
603 void removeSignal(FXint sig);
615 FXbool addInput(
FXObject *tgt,FXSelector sel,FXInputHandle fd,FXuint mode=INPUT_READ,FXptr ptr=
nullptr);
623 FXbool removeInput(FXInputHandle fd,FXuint mode=INPUT_READ);
626 FXbool getKeyState(FXuint keysym)
const;
632 FXbool runOneEvent(FXTime blocking=forever);
644 FXint runUntil(FXuint& condition);
651 FXint runWhileEvents(FXTime blocking=0);
660 FXint runModalWhileEvents(
FXWindow* window=
nullptr,FXTime blocking=0);
673 FXint runModalFor(
FXWindow* window);
680 FXint runModalWhileShown(
FXWindow* window);
689 FXbool isModal(
FXWindow* window)
const;
695 FXModality getModality()
const;
702 void stop(FXint value=0);
708 void stopModal(
FXWindow* window,FXint value=0);
713 void stopModal(FXint value=0);
730 void flush(FXbool sync=
false);
742 const FXchar *
const *
getArgv()
const {
return appArgv; }
752 virtual void init(
int& argc,
char** argv,FXbool connect=
true);
758 virtual void exit(FXint code=0);
787 FXTime getClickSpeed()
const {
return clickSpeed; }
788 FXTime getScrollSpeed()
const {
return scrollSpeed; }
789 FXTime getScrollDelay()
const {
return scrollDelay; }
790 FXTime getBlinkSpeed()
const {
return blinkSpeed; }
791 FXTime getAnimSpeed()
const {
return animSpeed; }
792 FXTime getMenuPause()
const {
return menuPause; }
793 FXTime getToolTipPause()
const {
return toolTipPause; }
794 FXTime getToolTipTime()
const {
return toolTipTime; }
795 FXTime getAutoHideDelay()
const {
return autoHideDelay; }
798 void setTypingSpeed(FXTime speed);
799 void setClickSpeed(FXTime speed);
800 void setScrollSpeed(FXTime speed);
801 void setScrollDelay(FXTime delay);
802 void setBlinkSpeed(FXTime speed);
803 void setAnimSpeed(FXTime speed);
804 void setMenuPause(FXTime pause);
805 void setToolTipPause(FXTime pause);
806 void setToolTipTime(FXTime time);
807 void setAutoHideDelay(FXTime time);
810 void setDragDelta(FXint delta);
811 FXint getDragDelta()
const {
return dragDelta; }
814 void setWheelLines(FXint lines);
815 FXint getWheelLines()
const {
return wheelLines; }
818 void setScrollBarSize(FXint size);
819 FXint getScrollBarSize()
const {
return scrollBarSize; }
823 FXColor getBaseColor()
const {
return baseColor; }
824 FXColor getHiliteColor()
const {
return hiliteColor; }
825 FXColor getShadowColor()
const {
return shadowColor; }
826 FXColor getBackColor()
const {
return backColor; }
827 FXColor getForeColor()
const {
return foreColor; }
828 FXColor getSelforeColor()
const {
return selforeColor; }
829 FXColor getSelbackColor()
const {
return selbackColor; }
830 FXColor getTipforeColor()
const {
return tipforeColor; }
831 FXColor getTipbackColor()
const {
return tipbackColor; }
832 FXColor getSelMenuTextColor()
const {
return selMenuTextColor; }
833 FXColor getSelMenuBackColor()
const {
return selMenuBackColor; }
836 void setBorderColor(FXColor color);
837 void setBaseColor(FXColor color);
838 void setHiliteColor(FXColor color);
839 void setShadowColor(FXColor color);
840 void setBackColor(FXColor color);
841 void setForeColor(FXColor color);
842 void setSelforeColor(FXColor color);
843 void setSelbackColor(FXColor color);
844 void setTipforeColor(FXColor color);
845 void setTipbackColor(FXColor color);
846 void setSelMenuTextColor(FXColor color);
847 void setSelMenuBackColor(FXColor color);
853 virtual void create();
856 virtual void destroy();
859 virtual void detach();
862 virtual void save(
FXStream& store)
const;
868 void dumpWidgets()
const;
const FXchar *const * getArgv() const
Get argument vector.
Definition: FXApp.h:742
FXWindow * getDragWindow() const
Return drag window if a drag operation is in progress.
Definition: FXApp.h:466
A drag corner widget may be placed in the bottom right corner so as to allow the window to be resized...
Definition: FXDragCorner.h:35
A Bitmap is a rectangular array of pixels.
Definition: FXBitmap.h:55
The translator class translates a message to another language.
Definition: FXTranslator.h:38
Rectangle.
Definition: FXRectangle.h:32
FXCursor * getDefaultCursor(FXDefaultCursor which) const
Obtain a default cursor.
Definition: FXApp.h:496
Window is the base class for all widgets in FOX.
Definition: FXWindow.h:130
Root window.
Definition: FXRootWindow.h:32
FXMutex & mutex()
Return a reference to the application-wide mutex.
Definition: FXApp.h:780
The Application object is the central point of a FOX user-interface.
Definition: FXApp.h:134
FXWindow * getCursorWindow() const
Get the window under the cursor, if any.
Definition: FXApp.h:451
Terminate the application normally.
Definition: FXApp.h:398
FXPopup * getPopupWindow() const
Get current popup window, if any.
Definition: FXApp.h:457
The Main Window is usually the central window of an application.
Definition: FXMainWindow.h:40
The Registry maintains a persistent settings database for an application.
Definition: FXRegistry.h:59
A hash table for mapping pointers to pointers.
Definition: FXHash.h:33
FXWindow * getClipboardWindow() const
Return window currently owning the clipboard.
Definition: FXApp.h:463
A stream is a way to serialize data and objects into a byte stream.
Definition: FXStream.h:81
FXTime getTypingSpeed() const
Obtain application-wide timing constants, in nanoseconds.
Definition: FXApp.h:786
FXColor getBorderColor() const
Obtain default colors.
Definition: FXApp.h:822
Abstract Device Context.
Definition: FXDC.h:153
FXuint getWindowCount() const
Get number of existing windows.
Definition: FXApp.h:850
FXFont * getNormalFont() const
Return default font.
Definition: FXApp.h:478
Encapsulates server side resource.
Definition: FXId.h:34
Definition: FX4Splitter.h:28
FXTranslator * getTranslator() const
Return message translator.
Definition: FXApp.h:513
FXCursor * getWaitCursor() const
Return current wait cursor.
Definition: FXApp.h:490
An Icon is an image with two additional server-side resources: a shape bitmap, which is used to mask ...
Definition: FXIcon.h:42
FXRegistry & reg()
Return a reference to the registry.
Definition: FXApp.h:766
FOX Event.
Definition: FXEvent.h:165
GL Context.
Definition: FXGLContext.h:32
The Shell widget is used as the base class for top level windows, i.e.
Definition: FXShell.h:35
FXWindow * getActiveWindow() const
Get the active toplevel window, if any.
Definition: FXApp.h:454
Compose Context manages the state of an input method if input method support is enabled.
Definition: FXComposeContext.h:39
Cursor class.
Definition: FXCursor.h:52
Abstract base class for all top-level windows.
Definition: FXTopWindow.h:97
Visual describes pixel format of a drawable.
Definition: FXGLVisual.h:40
FXbool isInitialized() const
Has application been initialized.
Definition: FXApp.h:745
Visual describes pixel format of a drawable.
Definition: FXVisual.h:58
FXVisual * getMonoVisual() const
Get monochrome visual.
Definition: FXApp.h:439
Dump the current widget tree.
Definition: FXApp.h:399
Object is the base class for all objects in FOX; in order to receive messages from the user interface...
Definition: FXObject.h:134
FXRootWindow * getRootWindow() const
Get root Window.
Definition: FXApp.h:445
Window Device Context.
Definition: FXDCWindow.h:48
An Image is a rectangular array of pixels.
Definition: FXImage.h:67
FXWindow * getSelectionWindow() const
Return window currently owning primary selection.
Definition: FXApp.h:460
void * getDisplay() const
Return pointer.
Definition: FXApp.h:516
static FXApp * instance()
Return application instance.
Definition: FXApp.h:871
FXMutex provides a mutex which can be used to enforce critical sections around updates of data shared...
Definition: FXMutex.h:31
Font class.
Definition: FXFont.h:137
FXint getArgc() const
Get argument count.
Definition: FXApp.h:739
FXVisual * getDefaultVisual() const
Get default visual.
Definition: FXApp.h:436
The dock handler exists as a common base class for tool bar grip and dock title.
Definition: FXDockHandler.h:35
FXString provides essential string manipulation capabilities in FOX.
Definition: FXString.h:42
Drawable is an abstract base class for any surface that can be drawn upon, such as a FXWindow...
Definition: FXDrawable.h:38