home *** CD-ROM | disk | FTP | other *** search
- /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * The contents of this file are subject to the Netscape Public License
- * Version 1.0 (the "NPL"); you may not use this file except in
- * compliance with the NPL. You may obtain a copy of the NPL at
- * http://www.mozilla.org/NPL/
- *
- * Software distributed under the NPL is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
- * for the specific language governing rights and limitations under the
- * NPL.
- *
- * The Initial Developer of this code under the NPL is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All Rights
- * Reserved.
- */
- /*-----------------------------------------*/
- /* */
- /* Name: <Xfe/Xfe.h> */
- /* Description: Xfe widgets main header file. */
- /* Author: Ramiro Estrugo <ramiro@netscape.com> */
- /* */
- /*----------------------------------------------------------------------*/
-
-
- #ifndef _XfeXfe_h_ /* start Xfe.h */
- #define _XfeXfe_h_
-
- #include <Xm/Xm.h> /* Motif public defs */
- #include <Xfe/StringDefs.h> /* Xfe public str defs */
- #include <Xfe/Defaults.h> /* Xfe default res vals */
- #include <Xfe/ChildrenUtil.h> /* Children utils */
- #include <Xfe/Converters.h> /* Converters */
- #include <Xfe/DialogUtil.h> /* Dialog utils */
- #include <Xfe/Draw.h> /* Drawing utils */
- #include <Xfe/Find.h> /* Finding utils */
- #include <Xfe/Geometry.h> /* Geometry utils */
- #include <Xfe/ListUtil.h> /* List utils */
- #include <Xfe/MenuUtil.h> /* Menu/RowCol utils */
- #include <Xfe/RepType.h> /* Representation types */
- #include <Xfe/Resources.h> /* Resource utils */
- #include <Xfe/ShellUtil.h> /* Shell utils */
- #include <Xfe/StringUtil.h> /* XmString utils */
- #include <Xfe/WmUtil.h> /* Window manager utils */
-
- #ifdef DEBUG
- #include <Xfe/Debug.h> /* Debugging stuff */
- #endif
-
- #include <assert.h> /* Assert */
-
- #ifdef __cplusplus /* start C++ */
- extern "C" {
- #endif
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Event loop proc */
- /* */
- /*----------------------------------------------------------------------*/
- typedef void (*XfeEventLoopProc) (void);
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Callback Reasons */
- /* */
- /*----------------------------------------------------------------------*/
- enum
- {
- XmCR_ACTION = (XmCR_OBSCURED_TRAVERSAL + 999),/* Generic action */
- XmCR_ANIMATION, /* Logo animation */
- XmCR_TITLE_CHANGED, /* Title changed */
- XmCR_TOOL_BAR_SELECTION_CHANGED, /* TB selection changed */
- XmCR_TOOL_BAR_VALUE_CHANGED, /* TB value changed */
- XmCR_BEFORE_REALIZE, /* Before realize */
- XmCR_BEFORE_RESIZE, /* Before resize */
- XmCR_BUTTON_3_DOWN, /* Button 3 down */
- XmCR_BUTTON_3_UP, /* Button 3 up */
- XmCR_CHANGE_MANAGED, /* Change managed */
- XmCR_CLOSE, /* Task bar close */
- XmCR_DELETE_WINDOW, /* Delete window */
- XmCR_DOCK, /* Task bar dock */
- XmCR_ENTER, /* Enter */
- XmCR_FIRST_MAP, /* First map */
- XmCR_FLOATING_MAP, /* Floating map */
- XmCR_FLOATING_UNMAP, /* Floating unmap */
- XmCR_GRAB, /* Grab */
- XmCR_LEAVE, /* Leave */
- XmCR_LOWER, /* Lower */
- XmCR_MOVE, /* Move */
- XmCR_POPDOWN, /* Popdown */
- XmCR_POPULATE, /* Populate */
- XmCR_POPUP, /* Popup */
- XmCR_RAISE, /* Raise */
- XmCR_REALIZE, /* Realize */
- XmCR_SAVE_YOURSELF, /* Save yourself */
- XmCR_SELECTION_CHANGED, /* Selection changed */
- XmCR_SUBMENU_MAP, /* Submenu map */
- XmCR_SUBMENU_TEAR, /* Submenu torn/untorn */
- XmCR_SUBMENU_UNMAP, /* Submenu unmap */
- XmCR_TASK_BAR, /* Task bar active */
- XmCR_TOGGLE_BOX, /* Toggle box */
- XmCR_TOGGLE_SELECTION, /* Toggle selection */
- XmCR_TOOL_BOX_ALLOW, /* Tool box allow */
- XmCR_TOOL_BOX_CLOSE, /* Tool box close */
- XmCR_TOOL_BOX_DRAG_END, /* Tool box drag end */
- XmCR_TOOL_BOX_DRAG_MOTION, /* Tool box drag motion */
- XmCR_TOOL_BOX_DRAG_START, /* Tool box drag start */
- XmCR_TOOL_BOX_NEW_ITEM, /* Tool box new item */
- XmCR_TOOL_BOX_OPEN, /* Tool box open */
- XmCR_TOOL_BOX_SNAP, /* Tool box snap */
- XmCR_TOOL_BOX_SWAP, /* Tool box swap */
- XmCR_UNDOCK, /* Task bar undock */
- XmCR_UNGRAB, /* Ungrab */
- XmCR_XFE_LAST_REASON /* Last reason marker */
- };
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Pixmap Table */
- /* */
- /*----------------------------------------------------------------------*/
- typedef Pixmap * XfePixmapTable;
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Pixmap utilities */
- /* */
- /*----------------------------------------------------------------------*/
- extern Boolean
- XfePixmapExtent (Display * dpy,
- Pixmap pixmap,
- Dimension * width,
- Dimension * height,
- Cardinal * depth);
- /*----------------------------------------------------------------------*/
- extern Boolean
- XfePixmapGood (Pixmap pixmap);
- /*----------------------------------------------------------------------*/
- extern Pixmap
- XfeInsensitiveTile (Screen * screen,
- int depth,
- Pixel fg,
- Pixel bg);
- /*----------------------------------------------------------------------*/
- extern Pixmap
- XfeInsensitiveStipple (Screen * screen,
- int depth,
- Pixel fg,
- Pixel bg);
- /*----------------------------------------------------------------------*/
- extern void
- XfePixmapClear (Display * dpy,
- Pixmap pixmap,
- GC gc,
- Dimension width,
- Dimension height);
- /*----------------------------------------------------------------------*/
- extern Pixmap
- XfePixmapCheck (Widget w,
- Pixmap pixmap,
- Dimension * width_out,
- Dimension * height_out);
- /*----------------------------------------------------------------------*/
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Gc utilities */
- /* */
- /*----------------------------------------------------------------------*/
- extern GC
- XfeAllocateStringGc (Widget w,
- XmFontList font_list,
- Pixel fg,
- Pixel bg,
- Boolean sensitive);
- /*----------------------------------------------------------------------*/
- extern GC
- XfeAllocateColorGc (Widget w,
- Pixel fg,
- Pixel bg,
- Boolean sensitive);
- /*----------------------------------------------------------------------*/
- extern GC
- XfeAllocateTileGc (Widget w,
- Pixmap tile_pixmap);
- /*----------------------------------------------------------------------*/
- extern GC
- XfeAllocateTransparentGc (Widget w);
- /*----------------------------------------------------------------------*/
- extern GC
- XfeAllocateSelectionGc (Widget w,
- Dimension thickness,
- Pixel fg,
- Pixel bg);
- /*----------------------------------------------------------------------*/
- extern GC
- XfeAllocateCopyGc (Widget w);
- /*----------------------------------------------------------------------*/
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Clipping functions */
- /* */
- /*----------------------------------------------------------------------*/
- extern void
- XfeClipSeg (XSegment * seg_src,
- XSegment * seg_dst,
- XRectangle * clip_rect);
- /*----------------------------------------------------------------------*/
- extern void
- XfeClipRect (XRectangle * rect_src,
- XRectangle * rect_dst,
- XRectangle * clip_rect);
- /*----------------------------------------------------------------------*/
- extern Boolean
- XfeRectInRect (XRectangle * rect,
- XRectangle * clip_rect);
- /*----------------------------------------------------------------------*/
- extern Boolean
- XfePointInRect (XRectangle * rect,
- int x,
- int y);
- /*----------------------------------------------------------------------*/
- extern void
- XfeRectSet (XRectangle * rect,
- Position x,
- Position y,
- Dimension width,
- Dimension height);
- /*----------------------------------------------------------------------*/
- extern void
- XfeRectCopy (XRectangle * dst,
- XRectangle * src);
- /*----------------------------------------------------------------------*/
- extern void
- XfePointSet (XPoint * point,
- Position x,
- Position y);
- /*----------------------------------------------------------------------*/
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Simple Widget access functions */
- /* */
- /*----------------------------------------------------------------------*/
- extern Widget XfeWindowedWidget (Widget w);
- extern Boolean XfeIsViewable (Widget w);
- extern Boolean XfeIsAlive (Widget w);
- extern XtPointer XfeUserData (Widget w);
- extern XtPointer XfeInstancePointer (Widget w);
- extern Colormap XfeColormap (Widget w);
- extern Cardinal XfeDepth (Widget w);
- extern Pixel XfeBackground (Widget w);
- extern Pixel XfeForeground (Widget w);
- extern Visual * XfeVisual (Widget w);
- extern String XfeClassNameForWidget (Widget w);
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Simple WidgetClass access functions */
- /* */
- /*----------------------------------------------------------------------*/
- extern String XfeClassName (WidgetClass wc);
- extern WidgetClass XfeSuperClass (WidgetClass wc);
-
- /*----------------------------------------------------------------------*/
- /* */
- /* XmFontList */
- /* */
- /*----------------------------------------------------------------------*/
- extern XmFontList
- XfeXmFontListCopy (Widget w,
- XmFontList font_list,
- unsigned char font_type);
- /*----------------------------------------------------------------------*/
- /* extern */ XmFontList
- XfeXmFontListAccess (Widget w);
- /*----------------------------------------------------------------------*/
-
-
- /*----------------------------------------------------------------------*/
- /* */
- /* XmString */
- /* */
- /*----------------------------------------------------------------------*/
- extern XmString
- XfeXmStringCopy (Widget w,
- XmString xm_string,
- String fallback);
- /*----------------------------------------------------------------------*/
- extern String
- XfeXmStringGetPSZ (XmString xm_string,
- char * tag);
- /*----------------------------------------------------------------------*/
- extern void
- XfeSetXmStringPSZ (Widget w,
- String name,
- char * tag,
- char * value);
- /*----------------------------------------------------------------------*/
-
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Colors */
- /* */
- /*----------------------------------------------------------------------*/
- extern Pixel
- XfeSelectPixel (Widget w,
- Pixel base);
- /*----------------------------------------------------------------------*/
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Cursor */
- /* */
- /*----------------------------------------------------------------------*/
- extern void
- XfeCursorDefine (Widget w,
- Cursor cursor);
- /*----------------------------------------------------------------------*/
- extern void
- XfeCursorUndefine (Widget w);
- /*----------------------------------------------------------------------*/
- extern Boolean
- XfeCursorGood (Cursor cursor);
- /*----------------------------------------------------------------------*/
- extern Cursor
- XfeCursorGetDragHand (Widget w);
- /*----------------------------------------------------------------------*/
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Simple Math */
- /* */
- /*----------------------------------------------------------------------*/
- #define XfeAbs(a) (( (a) < 0 ) ? -(a) : (a) )
- #define XfeMax(a,b) (( (a) > (b) ) ? (a) : (b) )
- #define XfeMin(a,b) (( (a) < (b) ) ? (a) : (b) )
- #define XfeSgn(a) (( (a) < 0 ) ? -1 : 1 )
- #define XfeOdd(a) ((((a) % 2) != 0) ? True : False)
- #define XfeEven(a) ((((a) % 2) == 0) ? True : False)
- /*----------------------------------------------------------------------*/
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Translation / Action functions */
- /* */
- /*----------------------------------------------------------------------*/
- extern void
- XfeOverrideTranslations (Widget w,
- String table);
- /*----------------------------------------------------------------------*/
- extern void
- XfeAddActions (Widget w,
- XtActionList actions,
- Cardinal num_actions);
- /*----------------------------------------------------------------------*/
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Management */
- /* */
- /*----------------------------------------------------------------------*/
- extern void
- XfeSetManagedState (Widget w,
- Boolean state);
- /*----------------------------------------------------------------------*/
- extern void
- XfeToggleManagedState (Widget w);
- /*----------------------------------------------------------------------*/
-
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Explicit invocation of core methods. */
- /* */
- /*----------------------------------------------------------------------*/
- extern void
- XfeExpose (Widget w,
- XEvent * event,
- Region region);
- /*----------------------------------------------------------------------*/
- extern void
- XfeResize (Widget w);
- /*----------------------------------------------------------------------*/
-
- /*----------------------------------------------------------------------*/
- /* */
- /* Sleep routine. */
- /* */
- /*----------------------------------------------------------------------*/
- extern void
- XfeSleep (Widget w,
- XfeEventLoopProc proc,
- int ms);
- /*----------------------------------------------------------------------*/
-
- /*----------------------------------------------------------------------*/
- /* */
- /* XEvent functions */
- /* */
- /*----------------------------------------------------------------------*/
- extern Boolean
- XfeEventGetXY (XEvent * event,
- int * x_out,
- int * y_out);
- /*----------------------------------------------------------------------*/
- extern Boolean
- XfeEventGetRootXY (XEvent * event,
- int * x_out,
- int * y_out);
- /*----------------------------------------------------------------------*/
- extern Modifiers
- XfeEventGetModifiers (XEvent * event);
- /*----------------------------------------------------------------------*/
-
- #ifdef __cplusplus /* end C++ */
- }
- #endif
-
- #endif /* end Xfe.h */
-