1414extern "C" {
1515#endif
1616
17+ /**
18+ * @brief
19+ * Physical format of an RGB pixel, specified with per-component bit-masks.
20+ * A bit being set defines those used for the given color component, such
21+ * as Red, Green, Blue, or Reserved.
22+ *
23+ * @note
24+ * Supports up to 32 bits-per-pixel deep pixels.
25+ **/
26+ typedef struct _PIXEL_BITMASK
27+ {
28+ ULONG RedMask ;
29+ ULONG GreenMask ;
30+ ULONG BlueMask ;
31+ ULONG ReservedMask ;
32+ } PIXEL_BITMASK , * PPIXEL_BITMASK ;
33+
34+ /**
35+ * @brief Framebuffer characteristics.
36+ **/
37+ typedef struct _FRAMEBUFFER_INFO
38+ {
39+ /* The framebuffer size is obtained by:
40+ * FrameBufferSize = ScreenHeight * PixelsPerScanLine * BytesPerPixel */
41+ // ULONG BufferSize;
42+
43+ /* Horizontal and Vertical resolution in pixels */
44+ ULONG ScreenWidth ;
45+ ULONG ScreenHeight ;
46+
47+ /* Number of pixel elements per video memory line. Related to
48+ * the number of bytes per scan-line (pitch/screen stride) via:
49+ * Pitch = PixelsPerScanLine * BytesPerPixel */
50+ ULONG PixelsPerScanLine ; ///< Pitch/stride in pixels
51+ ULONG BitsPerPixel ; ///< Pixel depth
52+
53+ /* Pixel physical format for BPP > 8 */
54+ PIXEL_BITMASK PixelMasks ;
55+ } FRAMEBUFFER_INFO , * PFRAMEBUFFER_INFO ;
56+
1757/**
1858 * @brief Framebuffer-specific video device configuration data.
1959 *
@@ -35,31 +75,11 @@ typedef struct _CM_FRAMEBUF_DEVICE_DATA
3575{
3676 CM_VIDEO_DEVICE_DATA ;
3777
38- /* Absolute offset from the start of the video RAM of the framebuffer
39- * to be displayed on the monitor. The framebuffer size is obtained by:
40- * FrameBufferSize = ScreenHeight * PixelsPerScanLine * BytesPerPixel */
78+ /* Absolute offset from the start of the video RAM
79+ * of the framebuffer to be displayed */
4180 ULONG FrameBufferOffset ;
4281
43- /* Horizontal and Vertical resolution in pixels */
44- ULONG ScreenWidth ;
45- ULONG ScreenHeight ;
46-
47- /* Number of pixel elements per video memory line. Related to
48- * the number of bytes per scan-line (pitch/screen stride) via:
49- * Pitch = PixelsPerScanLine * BytesPerPixel */
50- ULONG PixelsPerScanLine ; ///< Pitch/stride in pixels
51- ULONG BitsPerPixel ; ///< Pixel depth
52-
53- /* Pixel physical format for BPP > 8, specified by bit-masks.
54- * A bit being set defines those used for the given color component,
55- * such as Red, Green, Blue, or Reserved. */
56- struct /*_PIXEL_BITMASK*/
57- {
58- ULONG RedMask ;
59- ULONG GreenMask ;
60- ULONG BlueMask ;
61- ULONG ReservedMask ;
62- } PixelMasks ; /*PIXEL_BITMASK, *PPIXEL_BITMASK*/
82+ FRAMEBUFFER_INFO ; ///< Framebuffer characteristics
6383
6484} CM_FRAMEBUF_DEVICE_DATA , * PCM_FRAMEBUF_DEVICE_DATA ;
6585
0 commit comments