mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-08-12 10:54:04 +02:00
Update to v094r27 release.
byuu says: Added AWJ's fixes for alt/cpu (Tetris Attack framelines issue) and alt/dsp (Thread::clock reset) Added fix so that the taskbar entry appears when the application first starts on Windows. Fixed checkbox toggling inside of list views on Windows. Updated nall/image to properly protect variables that should not be written externally. New Object syntax for hiro is in. Fixed the backwards-typing on Windows with the state manager. NOTE: the list view isn't redrawing when you change the description text. It does so on the cheat editor because of the resizeColumns call; but that shouldn't be necessary. I'll try and fix this for the next WIP.
This commit is contained in:
@@ -11,22 +11,21 @@ static auto CreateColor(const Color& color) -> GdkColor {
|
||||
}
|
||||
#endif
|
||||
|
||||
static auto CreatePixbuf(const nall::image& image, bool scale = false) -> GdkPixbuf* {
|
||||
if(!image) return nullptr;
|
||||
static auto CreatePixbuf(image icon, bool scale = false) -> GdkPixbuf* {
|
||||
if(!icon) return nullptr;
|
||||
|
||||
nall::image gdkImage = image;
|
||||
gdkImage.transform(0, 32, 255u << 24, 255u << 0, 255u << 8, 255u << 16);
|
||||
if(scale) gdkImage.scale(15, 15);
|
||||
if(scale) icon.scale(15, 15);
|
||||
icon.transform(0, 32, 255u << 24, 255u << 0, 255u << 8, 255u << 16); //GTK stores images in ABGR format
|
||||
|
||||
GdkPixbuf* pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, true, 8, gdkImage.width, gdkImage.height);
|
||||
memcpy(gdk_pixbuf_get_pixels(pixbuf), gdkImage.data, gdkImage.width * gdkImage.height * 4);
|
||||
auto pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, true, 8, icon.width(), icon.height());
|
||||
memory::copy(gdk_pixbuf_get_pixels(pixbuf), icon.data(), icon.size());
|
||||
|
||||
return pixbuf;
|
||||
}
|
||||
|
||||
static auto CreateImage(const nall::image& image, bool scale = false) -> GtkImage* {
|
||||
GdkPixbuf* pixbuf = CreatePixbuf(image, scale);
|
||||
GtkImage* gtkImage = (GtkImage*)gtk_image_new_from_pixbuf(pixbuf);
|
||||
auto pixbuf = CreatePixbuf(image, scale);
|
||||
auto gtkImage = (GtkImage*)gtk_image_new_from_pixbuf(pixbuf);
|
||||
g_object_unref(pixbuf);
|
||||
return gtkImage;
|
||||
}
|
||||
|
Reference in New Issue
Block a user