mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
fix icon stuff
This commit is contained in:
parent
71f9ef76a2
commit
bc412732bf
@ -16,8 +16,6 @@ ConfigureFn(config_wgldisplay) {
|
|||||||
init_libwgldisplay();
|
init_libwgldisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
string IconFileName = config_wgldisplay.GetString("win32-window-icon","");
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: init_libwgldisplay
|
// Function: init_libwgldisplay
|
||||||
// Description: Initializes the library. This must be called at
|
// Description: Initializes the library. This must be called at
|
||||||
@ -43,3 +41,10 @@ init_libwgldisplay() {
|
|||||||
wglGraphicsWindow::get_class_type(),
|
wglGraphicsWindow::get_class_type(),
|
||||||
wglGraphicsWindow::make_wglGraphicsWindow);
|
wglGraphicsWindow::make_wglGraphicsWindow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// cant use global var cleanly because global var static init executed after init_libwgl(), incorrectly reiniting var
|
||||||
|
Filename get_icon_filename() {
|
||||||
|
string iconname = config_wgldisplay.GetString("win32-window-icon","");
|
||||||
|
return ExecutionEnvironment::expand_string(iconname);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -7,11 +7,12 @@
|
|||||||
#define __CONFIG_WGLDISPLAY_H__
|
#define __CONFIG_WGLDISPLAY_H__
|
||||||
|
|
||||||
#include <pandabase.h>
|
#include <pandabase.h>
|
||||||
|
#include <filename.h>
|
||||||
#include <notifyCategoryProxy.h>
|
#include <notifyCategoryProxy.h>
|
||||||
|
|
||||||
NotifyCategoryDecl(wgldisplay, EXPCL_PANDAGL, EXPTP_PANDAGL);
|
NotifyCategoryDecl(wgldisplay, EXPCL_PANDAGL, EXPTP_PANDAGL);
|
||||||
|
|
||||||
extern string IconFileName;
|
extern Filename get_icon_filename();
|
||||||
|
|
||||||
extern EXPCL_PANDAGL void init_libwgldisplay();
|
extern EXPCL_PANDAGL void init_libwgldisplay();
|
||||||
|
|
||||||
|
@ -38,8 +38,12 @@ wglGraphicsPipe::wglGraphicsPipe(const PipeSpecifier& spec)
|
|||||||
wc.lpszMenuName = NULL;
|
wc.lpszMenuName = NULL;
|
||||||
wc.lpszClassName = "wglStandard";
|
wc.lpszClassName = "wglStandard";
|
||||||
|
|
||||||
if(!IconFileName.empty()) {
|
string windows_icon_filename = get_icon_filename().to_os_specific();
|
||||||
wc.hIcon = (HICON) LoadImage(NULL, IconFileName.c_str(), IMAGE_ICON, 0, 0, LR_LOADFROMFILE);
|
|
||||||
|
if(!windows_icon_filename.empty()) {
|
||||||
|
// Note: LoadImage seems to cause win2k internal heap corruption (outputdbgstr warnings)
|
||||||
|
// if icon is more than 8bpp
|
||||||
|
wc.hIcon = (HICON) LoadImage(NULL, windows_icon_filename.c_str(), IMAGE_ICON, 0, 0, LR_LOADFROMFILE);
|
||||||
} else {
|
} else {
|
||||||
wc.hIcon = NULL; // use default app icon
|
wc.hIcon = NULL; // use default app icon
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user