Skip to content

Commit 5e3ce40

Browse files
committed
Figured out how to render ARGB bitmaps.
I finally figured out how to render the new bitmaps that have transparent areas inside them. Remaining tasks: - Render the light and dark squares beneath the pieces. - Be able to render a question mark for promotion.
1 parent f9f9880 commit 5e3ce40

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

res/winchen.rc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ IDB_BP BITMAP "..\images\bp.bmp"
3737
IDB_BQ BITMAP "..\images\bq.bmp"
3838
IDB_BR BITMAP "..\images\br.bmp"
3939
IDB_WB BITMAP "..\images\wb.bmp"
40-
IDB_WK BITMAP "..\images\bk.bmp"
40+
IDB_WK BITMAP "..\images\wk.bmp"
4141
IDB_WN BITMAP "..\images\wn.bmp"
4242
IDB_WP BITMAP "..\images\wp.bmp"
4343
IDB_WQ BITMAP "..\images\wq.bmp"

src/wbrdbuf.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,13 +166,19 @@ void DrawBitmap (
166166
ptOrg.y = 0;
167167
DPtoLP ( hdcMem, &ptOrg, 1 );
168168

169-
StretchBlt (
169+
BLENDFUNCTION blend;
170+
blend.BlendOp = AC_SRC_OVER;
171+
blend.BlendFlags = 0x00;
172+
blend.SourceConstantAlpha = 0xff;
173+
blend.AlphaFormat = AC_SRC_ALPHA;
174+
175+
AlphaBlend (
170176
hdc, xStart, yStart,
171177
(BitmapScaleFactor * ptSize.x) / BitmapScaleDenom,
172178
(BitmapScaleFactor * ptSize.y) / BitmapScaleDenom,
173179
hdcMem, ptOrg.x, ptOrg.y,
174180
ptSize.x, ptSize.y,
175-
SRCCOPY );
181+
blend);
176182

177183
DeleteDC (hdcMem);
178184
}
@@ -251,7 +257,7 @@ void BoardDisplayBuffer::drawSquare (
251257
}
252258

253259
if (hdc != NULL)
254-
DrawBitmap ( hdc, hbm, xStart, yStart );
260+
DrawBitmap(hdc, hbm, xStart, yStart);
255261

256262
if ( selX == x && selY == y )
257263
{

winchen/winchen.vcxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
101101
</ClCompile>
102102
<Link>
103-
<AdditionalDependencies>wsock32.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
103+
<AdditionalDependencies>wsock32.lib;winmm.lib;odbc32.lib;odbccp32.lib;msimg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
104104
<GenerateDebugInformation>true</GenerateDebugInformation>
105105
<SubSystem>Windows</SubSystem>
106106
<TargetMachine>MachineX86</TargetMachine>
@@ -123,7 +123,7 @@
123123
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
124124
</ClCompile>
125125
<Link>
126-
<AdditionalDependencies>wsock32.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
126+
<AdditionalDependencies>wsock32.lib;winmm.lib;odbc32.lib;odbccp32.lib;msimg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
127127
<GenerateDebugInformation>true</GenerateDebugInformation>
128128
<SubSystem>Windows</SubSystem>
129129
<TargetMachine>MachineX64</TargetMachine>
@@ -143,7 +143,7 @@
143143
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
144144
</ClCompile>
145145
<Link>
146-
<AdditionalDependencies>wsock32.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
146+
<AdditionalDependencies>wsock32.lib;winmm.lib;odbc32.lib;odbccp32.lib;msimg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
147147
<GenerateDebugInformation>true</GenerateDebugInformation>
148148
<SubSystem>Windows</SubSystem>
149149
<OptimizeReferences>true</OptimizeReferences>
@@ -168,7 +168,7 @@
168168
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
169169
</ClCompile>
170170
<Link>
171-
<AdditionalDependencies>wsock32.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
171+
<AdditionalDependencies>wsock32.lib;winmm.lib;odbc32.lib;odbccp32.lib;msimg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
172172
<GenerateDebugInformation>true</GenerateDebugInformation>
173173
<SubSystem>Windows</SubSystem>
174174
<OptimizeReferences>true</OptimizeReferences>

0 commit comments

Comments
 (0)