1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
#ifndef _TWIN_COMMON_H
#define _TWIN_COMMON_H
/*
* this file exports functions and variables common to both
* display.c and the whole twin sources, in particular hw_multi.c
*/
byte *CloneStr(CONST byte *s);
byte *CloneStrL(CONST byte *s, uldat len);
byte AllHWCanDragAreaNow(dat Left, dat Up, dat Rgt, dat Dwn, dat DstLeft, dat DstUp);
void DragAreaHW(dat Xstart, dat Ystart, dat Xend, dat Yend, dat DstXstart, dat DstYstart);
void ResizeDisplayPrefer(display_hw);
void PanicHW(void);
void FlushHW(void);
void BeepHW(void);
void ConfigureHW(udat resource, byte todefault, udat value);
void SetPaletteHW(udat N, udat R, udat G, udat B);
void ResetPaletteHW(void);
obj TwinSelectionGetOwner(void);
void TwinSelectionSetOwner(obj Owner, time_t Time, frac_t Frac);
#define SEL_CURRENTTIME ((time_t)0)
void TwinSelectionNotify(obj Requestor, uldat ReqPrivate, uldat Magic, CONST byte MIME[MAX_MIMELEN],
uldat Len, byte CONST * Data);
void TwinSelectionRequest(obj Requestor, uldat ReqPrivate, obj Owner);
void SelectionExport(void);
void SelectionImport(void);
#ifndef SelectionAppend
# define SelectionAppend(Len, Data) SelectionStore(SEL_APPEND, NULL, Len, Data)
#endif
byte SelectionStore(uldat Magic, CONST byte MIME[MAX_MIMELEN], uldat Len, CONST byte *Data);
byte KeyboardEventCommon(udat Code, udat ShiftFlags, udat Len, CONST byte *Seq);
byte MouseEventCommon(dat x, dat y, dat dx, dat dy, udat IdButtons);
dat GetDisplayWidth(void);
dat GetDisplayHeight(void);
byte InitTransUser(void);
/*
* these comes either from display.c or from main.c/util.c
*/
void Quit(int status);
void GainPrivileges(void);
int printk(CONST byte *format, ...);
int flushk(void);
/*
* this comes either from display.c or from remote.c
*/
void RemotePidIsDead(pid_t pid);
#endif /* _TWIN_HW_COMMON_H */
|