123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- MODULE EFIGraphicsOutput; (** AUTHOR "Matthias Frei"; PURPOSE "EFI Graphics Output Protocol"; *)
- IMPORT
- EFI, SYSTEM;
- CONST
- (* PixelFormat enum *)
- PFRGBX8Bit*= 0; (* a pixel is 32 bit. Each color is 8bit and they are ordered Red,Green,Blue,Reserved *)
- PFBGRX8Bit*= 1; (* a pixel is 32 bit. Each color is 8bit and they are ordered Blue,Green,Red,Reserved *)
- PFBitMask*= 2; (* format is defined by PixelBitmask *)
- PFBltOnly*= 3; (* this mode does not support a physical frame buffer *)
- PFMax*= 4;
- VAR
- GUID-: EFI.GUID;
- TYPE GraphicsMode* = POINTER TO GraphicsModeDescription;
- TYPE GraphicsModeDescription* = RECORD
- MaxMode-: EFI.Int32;
- Mode-: EFI.Int32; (*current mode. Valid mode numbers are 0 to MaxMode-1 *)
- Info-{UNTRACED}: GraphicsModeInfo;
- SizeOfInfo-: EFI.Int;
- FrameBufferBase-: EFI.PhysicalAddress;
- FrameBufferSize-: EFI.Int;
- END;
- TYPE GraphicsModeInfo* = POINTER TO GraphicsModeInfoDescription;
- TYPE GraphicsModeInfoDescription* = RECORD
- Version-: EFI.Int32; (* = 0 for the structure specified here. If > 0, structure extended backwards compatibly *)
- HorizontalResolution-: EFI.Int32;
- VerticalResolution-: EFI.Int32;
- PixelFormat-: EFI.Int32; (* enum *)
- PixelBitmask-: RECORD RedMask-,GreenMask-,BlueMask-,ReservedMask-:EFI.Int32; END;
- PixelsPerScanline-: EFI.Int32;
- END;
- TYPE Protocol* = POINTER TO ProtocolDescription;
- TYPE GOQueryMode* = PROCEDURE{WINAPI}(This : Protocol; ModeNumber : EFI.Int32; VAR SizeOfInfo : EFI.Int; VAR Info : GraphicsModeInfo) : EFI.Status;
- TYPE GOSetMode* = PROCEDURE{WINAPI}(This : Protocol; ModeNumber : EFI.Int32) : EFI.Status;
- TYPE GODummyType* = PROCEDURE{WINAPI}():EFI.Status;
- TYPE ProtocolDescription* = RECORD(EFI.ProtocolDescription)
- QueryMode-: GOQueryMode;
- SetMode-: GOSetMode;
- Blt-: GODummyType; (* not implemented *)
- Mode-{UNTRACED}: GraphicsMode;
- END;
- BEGIN
- GUID.Data1 := LONGINT(9042A9DEH);
- GUID.Data2 := 23DCH;
- GUID.Data3 := 4A38H;
- GUID.Data4[0] := SHORTINT(96H);
- GUID.Data4[1] := SHORTINT(0FBH);
- GUID.Data4[2] := 7AH;
- GUID.Data4[3] := SHORTINT(0DEH);
- GUID.Data4[4] := SHORTINT(0D0H);
- GUID.Data4[5] := SHORTINT(80H);
- GUID.Data4[6] := 51H;
- GUID.Data4[7] := 6AH;
- END EFIGraphicsOutput.
|