[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master a6024e8: * graph/win32/grwin32.c (gr_win32_surf
From: |
Alexei Podtelezhnikov |
Subject: |
[freetype2-demos] master a6024e8: * graph/win32/grwin32.c (gr_win32_surface_init): Default to BITSPIXEL. |
Date: |
Wed, 28 Oct 2020 18:12:18 -0400 (EDT) |
branch: master
commit a6024e8a5dff013e23bc72be22f94650575e357f
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>
* graph/win32/grwin32.c (gr_win32_surface_init): Default to BITSPIXEL.
---
ChangeLog | 4 ++++
graph/win32/grwin32.c | 25 ++++++++++++++++++++++++-
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 6012e7d..288c0fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2020-10-28 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * graph/win32/grwin32.c (gr_win32_surface_init): Default to BITSPIXEL.
+
2020-10-27 Alexei Podtelezhnikov <apodtele@gmail.com>
[graph] Let the driver set convenient depth.
diff --git a/graph/win32/grwin32.c b/graph/win32/grwin32.c
index 47f0bfa..5995265 100644
--- a/graph/win32/grwin32.c
+++ b/graph/win32/grwin32.c
@@ -435,7 +435,30 @@ gr_win32_surface_init( grWin32Surface* surface,
/* Set default mode */
if ( bitmap->mode == gr_pixel_mode_none )
- bitmap->mode = gr_pixel_mode_rgb32;
+ {
+ HDC hDC;
+ int bpp;
+
+ hDC = GetDC( NULL );
+ bpp = GetDeviceCaps( hDC, BITSPIXEL ) * GetDeviceCaps( hDC, PLANES );
+ ReleaseDC( NULL, hDC );
+
+ switch ( bpp )
+ {
+ case 8:
+ bitmap->mode = gr_pixel_mode_gray;
+ break;
+ case 16:
+ bitmap->mode = gr_pixel_mode_rgb565;
+ break;
+ case 24:
+ bitmap->mode = gr_pixel_mode_rgb24;
+ break;
+ case 32:
+ default:
+ bitmap->mode = gr_pixel_mode_rgb32;
+ }
+ }
LOG(( "Win32: init_surface( %p, %p )\n", surface, bitmap ));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master a6024e8: * graph/win32/grwin32.c (gr_win32_surface_init): Default to BITSPIXEL.,
Alexei Podtelezhnikov <=