From 70610afc2f3ab77763168f3b764c12079ff7eb23 Mon Sep 17 00:00:00 2001 From: Lev Stipakov Date: Wed, 12 Oct 2022 12:24:00 +0300 Subject: [PATCH] Add a BMP image for PLAP tile and use it --- plap/openvpn-plap-res.rc | 3 +++ plap/plap_connection.c | 24 +++++++++++++++++++++++- plap/resource.h | 1 + res/tileimage.bmp | Bin 0 -> 110646 bytes 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 plap/resource.h create mode 100644 res/tileimage.bmp diff --git a/plap/openvpn-plap-res.rc b/plap/openvpn-plap-res.rc index 5afd056..6d78ec5 100644 --- a/plap/openvpn-plap-res.rc +++ b/plap/openvpn-plap-res.rc @@ -26,6 +26,7 @@ #include #include #include "../openvpn-gui-res.h" +#include "resource.h" /* Language resource files are UTF-8 encoded */ #pragma code_page(65001) @@ -39,6 +40,8 @@ ID_ICO_CONNECTED ICON DISCARDABLE "../res/connected.ico" ID_ICO_CONNECTING ICON DISCARDABLE "../res/connecting.ico" ID_ICO_DISCONNECTED ICON DISCARDABLE "../res/disconnected.ico" +IDB_TILE_IMAGE BITMAP DISCARDABLE "../res/tileimage.bmp" + #ifdef ENABLE_OVPN3 #define ADVANCED_DIALOG_HEIGHT 320 #else diff --git a/plap/plap_connection.c b/plap/plap_connection.c index f176ce3..48d44f9 100644 --- a/plap/plap_connection.c +++ b/plap/plap_connection.c @@ -27,6 +27,7 @@ #include "plap_connection.h" #include "plap_dll.h" #include +#include "resource.h" /* A "class" that implements IConnectableCredentialProviderCredential */ @@ -343,9 +344,30 @@ GetStringValue(ICCPC *this, DWORD index, WCHAR **ws) static HRESULT WINAPI GetBitmapValue(UNUSED ICCPC *this, DWORD field, HBITMAP *bmp) { + HRESULT hr = S_OK; + dmsg(L"field = %lu ", field); - return E_NOTIMPL; + if (field_desc[field].cpft == CPFT_TILE_IMAGE && bmp) + { + HBITMAP tmp = LoadBitmapW(hinst_global, MAKEINTRESOURCE(IDB_TILE_IMAGE)); + if (tmp) + { + *bmp = tmp; /* The caller takes ownership of this memory */ + dmsg(L"Returning a bitmap for PLAP tile %lu", field); + } + else + { + hr = HRESULT_FROM_WIN32(GetLastError()); + dmsg(L"LoadBitmap failed with error = 0x%08x", hr); + } + } + else + { + hr = E_INVALIDARG; + } + + return hr; } /* diff --git a/plap/resource.h b/plap/resource.h new file mode 100644 index 0000000..ef811a1 --- /dev/null +++ b/plap/resource.h @@ -0,0 +1 @@ +#define IDB_TILE_IMAGE 101 diff --git a/res/tileimage.bmp b/res/tileimage.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4377653ae03373671ee7cd144bb08d3d519a646a GIT binary patch literal 110646 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 D7W!dZ literal 0 HcmV?d00001