123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- Type
- TX11FlagsEnum = (PTC_X11_FULLSCREEN,
- PTC_X11_LEAVE_DISPLAY,
- PTC_X11_LEAVE_WINDOW,
- PTC_X11_TRY_DGA,
- PTC_X11_TRY_XF86VIDMODE,
- PTC_X11_TRY_XRANDR,
- PTC_X11_TRY_XSHM,
- PTC_X11_DITHER,
- PTC_X11_FULLSCREEN_CURSOR_VISIBLE,
- PTC_X11_WINDOWED_CURSOR_INVISIBLE);
- TX11Flags = Set Of TX11FlagsEnum;
- Type
- TX11Display = Class(TObject)
- Protected
- Function NextEvent(Var AEvent : TPTCEvent; AWait : Boolean; Const AEventMask : TPTCEventMask) : Boolean; Virtual; Abstract;
- Function PeekEvent(AWait : Boolean; Const AEventMask : TPTCEventMask) : TPTCEvent; Virtual; Abstract;
- Function GetX11Format(Const AFormat : TPTCFormat) : TPTCFormat;
- { initialise the keyboard mapping table }
- Procedure SetKeyMapping;
- { Data access }
- Function GetWidth : Integer;
- Function GetHeight : Integer;
- Function GetPitch : Integer; Virtual; Abstract;
- Function GetFormat : TPTCFormat;
- Function GetArea : TPTCArea;
- { Conversion object }
- FCopy : TPTCCopy;
- FClear : TPTCClear;
- FPalette : TPTCPalette;
- FArea : TPTCArea;
- FClip : TPTCArea;
- FEventQueue : TEventQueue;
- FFlags : TX11Flags;
- FWidth, FHeight : DWord;
- FFormat : TPTCFormat;
- FDisplay : PDisplay;
- FScreen : Integer;
- FCMap : TColormap;
- FColours : PXColor;
- FFunctionKeys : PInteger;
- FNormalKeys : PInteger;
- {m_thread : pthread_t;}
- Public
- Constructor Create(ADisplay : PDisplay; AScreen : Integer; Const AFlags : TX11Flags); Virtual;
- Destructor Destroy; Override;
- Procedure Open(ATitle : String; AWidth, AHeight : Integer; Const AFormat : TPTCFormat); Virtual; Abstract;
- { This will always return a windowed console. The first version
- fills the whole window, the second one has a custom size }
- Procedure Open(AWindow : TWindow; Const AFormat : TPTCFormat); Virtual; Abstract;
- Procedure Open(AWindow : TWindow; Const AFormat : TPTCFormat; AX, AY, AWidth, AHeight : Integer); Virtual; Abstract;
- Procedure Close; Virtual; Abstract;
- Procedure Update; Virtual; Abstract;
- Procedure Update(Const AArea : TPTCArea); Virtual; Abstract;
- Function Lock : Pointer; Virtual; Abstract;
- Procedure Unlock; Virtual; Abstract;
- { load pixels to console }
- Procedure Load(Const APixels : Pointer; AWidth, AHeight, APitch : Integer;
- Const AFormat : TPTCFormat; Const APalette : TPTCPalette); Virtual;
- Procedure Load(Const APixels : Pointer; AWidth, AHeight, APitch : Integer;
- Const AFormat : TPTCFormat; Const APalette : TPTCPalette;
- Const ASource, ADestination : TPTCArea); Virtual;
- { save console pixels }
- Procedure Save(APixels : Pointer; AWidth, AHeight, APitch : Integer;
- Const AFormat : TPTCFormat; Const APalette : TPTCPalette); Virtual;
- Procedure Save(APixels : Pointer; AWidth, AHeight, APitch : Integer;
- Const AFormat : TPTCFormat; Const APalette : TPTCPalette;
- Const ASource, ADestination : TPTCArea); Virtual;
- { clear surface }
- Procedure Clear(Const AColor : TPTCColor); Virtual;
- Procedure Clear(Const AColor : TPTCColor; Const AArea : TPTCArea); Virtual;
- { Console palette }
- Procedure Palette(Const APalette : TPTCPalette); Virtual; Abstract;
- Function Palette : TPTCPalette; Virtual;
- { console clip area }
- Procedure Clip(Const AArea : TPTCArea);
- { cursor control }
- Procedure SetCursor(AVisible : Boolean); Virtual; Abstract;
- { Data access }
- Function Clip : TPTCArea;
- Function IsFullScreen : Boolean; Virtual; Abstract;
- { Set flags (only used internally now!) }
- Procedure SetFlags(AFlags : TX11Flags);
- Procedure GetModes(Var AModes : TPTCModeDynArray); Virtual; Abstract;
- { X11 helper functions for your enjoyment }
- { return the display we are using }
- Function GetX11Display : PDisplay;
- { return the screen we are using }
- Function GetX11Screen : Integer;
- { return our window (0 if DGA) }
- Function GetX11Window : TWindow; Virtual; Abstract;
- Property Width : Integer Read GetWidth;
- Property Height : Integer Read GetHeight;
- Property Pitch : Integer Read GetPitch;
- Property Area : TPTCArea Read GetArea;
- Property Format : TPTCFormat Read GetFormat;
- End;
|