[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master 84871fd: [graph/win32] Use top-down DIBs.
From: |
Alexei Podtelezhnikov |
Subject: |
[freetype2-demos] master 84871fd: [graph/win32] Use top-down DIBs. |
Date: |
Wed, 6 Jan 2021 16:49:53 -0500 (EST) |
branch: master
commit 84871fdc61fdfbc6cf1b291018e91bdf6dd49d12
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>
[graph/win32] Use top-down DIBs.
* graph/win32/grwin32.c (Message_Process): Tweak WM_PAINT.
(gr_win32_surface_{init,resize}): Set negative `biHeight'.
---
ChangeLog | 7 +++++++
graph/win32/grwin32.c | 20 +++++++-------------
2 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e25743a..6259f1c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2021-01-06 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [graph/win32] Use top-down DIBs.
+
+ * graph/win32/grwin32.c (Message_Process): Tweak WM_PAINT.
+ (gr_win32_surface_{init,resize}): Set negative `biHeight'.
+
2021-01-05 Alexei Podtelezhnikov <apodtele@gmail.com>
* graph/win32/grwin32.c (gr_win32_surface_init): Clean up.
diff --git a/graph/win32/grwin32.c b/graph/win32/grwin32.c
index 71cd9c9..a234d05 100644
--- a/graph/win32/grwin32.c
+++ b/graph/win32/grwin32.c
@@ -326,7 +326,6 @@ gr_win32_surface_resize( grWin32Surface* surface,
height,
bitmap ) )
return 0;
- bitmap->pitch = -bitmap->pitch;
/* resize BGR shadow bitmap */
if ( bitmap->mode == gr_pixel_mode_rgb24 )
@@ -337,7 +336,6 @@ gr_win32_surface_resize( grWin32Surface* surface,
height,
&surface->shadow_bitmap ) )
return 0;
- surface->shadow_bitmap.pitch = -surface->shadow_bitmap.pitch;
#ifdef SWIZZLE
if ( grNewBitmap( bitmap->mode,
@@ -346,7 +344,6 @@ gr_win32_surface_resize( grWin32Surface* surface,
height,
&surface->swizzle_bitmap ) )
return 0;
- surface->swizzle_bitmap.pitch = -surface->swizzle_bitmap.pitch;
#endif
}
else
@@ -354,7 +351,7 @@ gr_win32_surface_resize( grWin32Surface* surface,
/* update the header to appropriate values */
surface->bmiHeader.biWidth = width;
- surface->bmiHeader.biHeight = height;
+ surface->bmiHeader.biHeight = -height;
return surface;
}
@@ -470,7 +467,6 @@ gr_win32_surface_init( grWin32Surface* surface,
bitmap->rows,
bitmap ) )
return 0;
- bitmap->pitch = -bitmap->pitch;
/* allocate the BGR shadow bitmap */
if ( bitmap->mode == gr_pixel_mode_rgb24 )
@@ -481,7 +477,6 @@ gr_win32_surface_init( grWin32Surface* surface,
bitmap->rows,
&surface->shadow_bitmap ) )
return 0;
- surface->shadow_bitmap.pitch = -surface->shadow_bitmap.pitch;
#ifdef SWIZZLE
if ( grNewBitmap( bitmap->mode,
@@ -490,7 +485,6 @@ gr_win32_surface_init( grWin32Surface* surface,
bitmap->rows,
&surface->swizzle_bitmap ) )
return 0;
- surface->swizzle_bitmap.pitch = -surface->swizzle_bitmap.pitch;
#endif
}
else
@@ -498,7 +492,7 @@ gr_win32_surface_init( grWin32Surface* surface,
surface->bmiHeader.biSize = sizeof( BITMAPINFOHEADER );
surface->bmiHeader.biWidth = bitmap->width;
- surface->bmiHeader.biHeight = bitmap->rows;
+ surface->bmiHeader.biHeight = -bitmap->rows;
surface->bmiHeader.biPlanes = 1;
switch ( bitmap->mode )
@@ -636,7 +630,7 @@ LRESULT CALLBACK Message_Process( HWND handle, UINT mess,
case WM_CLOSE:
/* warn the main thread to quit if it didn't know */
PostMessage( handle, WM_CHAR, (WPARAM)grKeyEsc, 0 );
- return 0;
+ break;
case WM_SIZE:
if ( wParam == SIZE_RESTORED || wParam == SIZE_MAXIMIZED )
@@ -660,16 +654,16 @@ LRESULT CALLBACK Message_Process( HWND handle, UINT mess,
hDC = BeginPaint ( handle, &ps );
SetDIBitsToDevice( hDC, 0, 0,
- surface->bmiHeader.biWidth,
- surface->bmiHeader.biHeight,
+ surface->root.bitmap.width,
+ surface->root.bitmap.rows,
0, 0, 0,
- surface->bmiHeader.biHeight,
+ surface->root.bitmap.rows,
surface->shadow_bitmap.buffer,
(LPBITMAPINFO)&surface->bmiHeader,
DIB_RGB_COLORS );
EndPaint ( handle, &ps );
- return 0;
}
+ break;
default:
return DefWindowProc( handle, mess, wParam, lParam );
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master 84871fd: [graph/win32] Use top-down DIBs.,
Alexei Podtelezhnikov <=