#ifndef FVWMLIB_FSCRREN_H
#define FVWMLIB_FSCRREN_H
/* needs X11/Xlib.h and X11/Xutil.h */
enum
{
FSCREEN_GLOBAL = -1,
FSCREEN_CURRENT = -2,
FSCREEN_PRIMARY = -3,
FSCREEN_XYPOS = -4
};
enum
{
FSCREEN_SPEC_GLOBAL = 'g',
FSCREEN_SPEC_CURRENT = 'c',
FSCREEN_SPEC_PRIMARY = 'p',
FSCREEN_SPEC_WINDOW = 'w'
};
typedef union
{
XEvent *mouse_ev;
struct
{
int x;
int y;
} xypos;
} fscreen_scr_arg;
/* Control */
Bool FScreenIsEnabled(void);
Bool FScreenIsSLSEnabled(void);
void FScreenInit(Display *dpy);
void FScreenOnOff(Bool do_enable);
Bool FScreenConfigureSLS(int width, int height);
void FScreenSLSOnOff(Bool do_enable);
/* Intended to be called by modules. Simply pass in the parameter from the
* config string sent by fvwm. */
void FScreenConfigureModule(char *args);
const char* FScreenGetConfiguration(void); /* For use by FVWM */
void FScreenDisableRandR(void);
void FScreenSetPrimaryScreen(int scr);
/* Screen info */
Bool FScreenGetScrRect(
fscreen_scr_arg *arg, int screen, int *x, int *y, int *w, int *h);
void FScreenTranslateCoordinates(
fscreen_scr_arg *arg_src, int screen_src,
fscreen_scr_arg *arg_dest, int screen_dest,
int *x, int *y);
void FScreenGetResistanceRect(
int wx, int wy, int ww, int wh, int *x0, int *y0, int *x1, int *y1);
Bool FScreenIsRectangleOnScreen(
fscreen_scr_arg *arg, int screen, rectangle *rec);
/* Clipping/positioning */
int FScreenClipToScreen(
fscreen_scr_arg *arg, int screen, int *x, int *y, int w, int h);
void FScreenCenterOnScreen(
fscreen_scr_arg *arg, int screen, int *x, int *y, int w, int h);
/* Geometry management */
int FScreenGetScreenArgument(char *scr_spec, char default_screen);
int FScreenParseGeometryWithScreen(
char *parsestring, int *x_return, int *y_return, unsigned int *width_return,
unsigned int *height_return, int *screen_return);
int FScreenParseGeometry(
char *parsestring, int *x_return, int *y_return, unsigned int *width_return,
unsigned int *height_return);
int FScreenGetGeometry(
char *parsestring, int *x_return, int *y_return,
int *width_return, int *height_return, XSizeHints *hints, int flags);
/* RandR support */
int FScreenGetRandrEventType(void);
Bool FScreenHandleRandrEvent(
XEvent *event, int *old_w, int *old_h, int *new_w, int *new_h);
#endif /* FVWMLIB_FSCRREN_H */
syntax highlighted by Code2HTML, v. 0.9.1