{ ---------------------------------- qtproc.pp - qt5 interface procs ---------------------------------- This unit contains procedures/functions needed for the qt5 <-> LCL interface } { ***************************************************************************** This file is part of the Lazarus Component Library (LCL) See the file COPYING.modifiedLGPL.txt, included in this distribution, for details about the license. ***************************************************************************** } unit qtproc; {$mode objfpc}{$H+} interface {$I qtdefines.inc} uses // Bindings qt6, // LazUtils GraphType, LazUTF8, // LCL InterfaceBase; const EVE_IO_READ = 1; EVE_IO_WRITE = 4; EVE_IO_ERROR = 8; type PWaitHandleEventHandler = ^TWaitHandleEventHandler; TWaitHandleEventHandler = record qsn: array[QSocketNotifierRead..QSocketNotifierException] of QSocketNotifierH; // the notifiers for events qsn_hook: array[QSocketNotifierRead..QSocketNotifierException] of QSocketNotifier_hookH; // the hooks user_callback: TWaitHandleEvent; udata: PtrInt; // the userdata socket: Integer; // for mapping end; procedure FillStandardDescription(var Desc: TRawImageDescription); implementation {------------------------------------------------------------------------------ Function: FillStandardDescription Params: Returns: ------------------------------------------------------------------------------} procedure FillStandardDescription(var Desc: TRawImageDescription); begin Desc.Init; Desc.Format := ricfRGBA; // Desc.Width := 0 // Desc.Height := 0 // Desc.PaletteColorCount := 0; Desc.BitOrder := riboReversedBits; Desc.ByteOrder := riboLSBFirst; Desc.LineOrder := riloTopToBottom; Desc.BitsPerPixel := 32; Desc.Depth := 32; // Qt wants dword-aligned data Desc.LineEnd := rileDWordBoundary; // 8-8-8-8 mode, high byte is Alpha Desc.AlphaPrec := 8; Desc.RedPrec := 8; Desc.GreenPrec := 8; Desc.BluePrec := 8; Desc.AlphaShift := 24; Desc.RedShift := 16; Desc.GreenShift := 8; // Desc.BlueShift := 0; // Qt wants dword-aligned data Desc.MaskLineEnd := rileDWordBoundary; Desc.MaskBitOrder := riboReversedBits; Desc.MaskBitsPerPixel := 1; // Desc.MaskShift := 0; end; end.