mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-14 04:19:12 +00:00
Remove jtheme and JTheme types, use Theme class directly.
+ Added CurrentTheme namespace. + Rename Theme::regen() to Theme::onRegenerate(). + ji_regen_theme() is in Theme::regenerate() member function.
This commit is contained in:
parent
fc263ddb88
commit
e9f7a035b1
@ -25,8 +25,8 @@
|
||||
#include <psapi.h>
|
||||
#endif
|
||||
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/theme.h"
|
||||
|
||||
#include "app.h"
|
||||
#include "commands/command.h"
|
||||
@ -62,9 +62,9 @@ void RefreshCommand::onExecute(Context* context)
|
||||
|
||||
// Reload skin
|
||||
{
|
||||
SkinTheme* theme = (SkinTheme*)ji_get_theme();
|
||||
SkinTheme* theme = (SkinTheme*)CurrentTheme::get();
|
||||
theme->reload_skin();
|
||||
ji_regen_theme();
|
||||
theme->regenerate();
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -37,11 +37,11 @@ add_library(gui-lib
|
||||
jstream.cpp
|
||||
jsystem.cpp
|
||||
jtextbox.cpp
|
||||
jtheme.cpp
|
||||
jtooltips.cpp
|
||||
jview.cpp
|
||||
label.cpp
|
||||
preferred_size_event.cpp
|
||||
property.cpp
|
||||
slider.cpp
|
||||
theme.cpp
|
||||
widget.cpp)
|
||||
|
@ -13,14 +13,14 @@
|
||||
#include <queue>
|
||||
|
||||
#include "gui/button.h"
|
||||
#include "gui/frame.h"
|
||||
#include "gui/jlist.h"
|
||||
#include "gui/jmanager.h"
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "gui/frame.h"
|
||||
#include "gui/preferred_size_event.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
|
||||
ButtonBase::ButtonBase(const char* text, int type, int behaviorType, int drawType)
|
||||
: Widget(type)
|
||||
|
@ -18,8 +18,8 @@
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/preferred_size_event.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
|
||||
#define CHARACTER_LENGTH(f, c) ((f)->vtable->char_length((f), (c)))
|
||||
|
@ -47,10 +47,10 @@ struct jlist;
|
||||
union jmessage;
|
||||
struct jrect;
|
||||
struct jregion;
|
||||
class jtheme;
|
||||
|
||||
class Widget;
|
||||
class Frame;
|
||||
class Theme;
|
||||
class Widget;
|
||||
|
||||
/* alignment */
|
||||
#define JI_HORIZONTAL 0x0001
|
||||
@ -203,7 +203,6 @@ typedef union jmessage* JMessage;
|
||||
typedef struct jstream* JStream;
|
||||
typedef struct jrect* JRect;
|
||||
typedef struct jregion* JRegion;
|
||||
typedef class jtheme* JTheme;
|
||||
typedef class Widget* JWidget;
|
||||
typedef struct jxml* JXml;
|
||||
typedef struct jxmlattr* JXmlAttr;
|
||||
|
@ -8,12 +8,12 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "gfx/size.h"
|
||||
#include "gui/jlist.h"
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gfx/size.h"
|
||||
|
||||
using namespace gfx;
|
||||
|
||||
|
@ -43,7 +43,7 @@ ComboBox::ComboBox()
|
||||
m_entry->user_data[0] = this;
|
||||
m_button->user_data[0] = this;
|
||||
|
||||
/* TODO this separation should be from the JTheme */
|
||||
// TODO this separation should be from the Theme*
|
||||
this->child_spacing = 0;
|
||||
|
||||
jwidget_focusrest(this, true);
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
#include "gui/jfont.h"
|
||||
#include "gui/jintern.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/theme.h"
|
||||
|
||||
FONT* ji_font_load(const char* filepathname)
|
||||
{
|
||||
|
@ -10,12 +10,12 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "gfx/size.h"
|
||||
#include "gui/jlist.h"
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gfx/size.h"
|
||||
|
||||
using namespace gfx;
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
|
||||
static bool image_msg_proc(JWidget widget, JMessage msg);
|
||||
|
@ -7,8 +7,8 @@
|
||||
#include "config.h"
|
||||
|
||||
#include "gui/jbase.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/jclipboard.h"
|
||||
#include "gui/theme.h"
|
||||
|
||||
#ifdef MEMLEAK
|
||||
void _jmemleak_init();
|
||||
@ -24,9 +24,6 @@ void _ji_system_exit();
|
||||
int _ji_font_init();
|
||||
void _ji_font_exit();
|
||||
|
||||
int _ji_theme_init();
|
||||
void _ji_theme_exit();
|
||||
|
||||
/**
|
||||
* Initializes the Jinete library.
|
||||
*/
|
||||
@ -40,19 +37,17 @@ Jinete::Jinete()
|
||||
_ji_system_init();
|
||||
_ji_font_init();
|
||||
_ji_widgets_init();
|
||||
_ji_theme_init();
|
||||
}
|
||||
|
||||
Jinete::~Jinete()
|
||||
{
|
||||
// finish theme
|
||||
ji_set_theme(NULL);
|
||||
CurrentTheme::set(NULL);
|
||||
|
||||
// destroy clipboard
|
||||
jclipboard_set_text(NULL);
|
||||
|
||||
// shutdown system
|
||||
_ji_theme_exit();
|
||||
_ji_widgets_exit();
|
||||
_ji_font_exit();
|
||||
_ji_system_exit();
|
||||
|
@ -37,11 +37,11 @@
|
||||
#include "gui/jstream.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtextbox.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/jtooltips.h"
|
||||
#include "gui/jview.h"
|
||||
#include "gui/label.h"
|
||||
#include "gui/slider.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
|
||||
#endif
|
||||
|
@ -8,10 +8,10 @@
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "gui/jmanager.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "gui/frame.h"
|
||||
#include "gui/jmanager.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
|
||||
static std::vector<JWidget>* widgets;
|
||||
|
||||
@ -105,7 +105,7 @@ void _ji_reinit_theme_in_all_widgets()
|
||||
// Then we can reinitialize the theme of each widget
|
||||
for (c=0; c<widgets->size(); c++)
|
||||
if (_ji_is_valid_widget((*widgets)[c])) {
|
||||
(*widgets)[c]->theme = ji_get_theme();
|
||||
(*widgets)[c]->theme = CurrentTheme::get();
|
||||
jwidget_init_theme((*widgets)[c]);
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,7 @@ void _jmanager_open_window(JWidget manager, Frame* frame);
|
||||
void _jmanager_close_window(JWidget manager, Frame* frame, bool redraw_background);
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// jtheme.c
|
||||
// theme.cpp
|
||||
|
||||
void _ji_theme_draw_sprite_color(struct BITMAP *bmp, struct BITMAP *sprite,
|
||||
int x, int y, int color);
|
||||
|
@ -9,8 +9,8 @@
|
||||
|
||||
#include "gui/jlink_label.h"
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/theme.h"
|
||||
#include "launcher.h"
|
||||
|
||||
LinkLabel::LinkLabel(const char* urlOrText)
|
||||
|
@ -8,15 +8,15 @@
|
||||
|
||||
#include <allegro/keyboard.h>
|
||||
|
||||
#include "gfx/size.h"
|
||||
#include "gui/jlist.h"
|
||||
#include "gui/jmanager.h"
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/jview.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "gfx/size.h"
|
||||
|
||||
using namespace gfx;
|
||||
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "gfx/size.h"
|
||||
#include "gui/jlist.h"
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "gfx/size.h"
|
||||
|
||||
typedef struct Panel
|
||||
{
|
||||
|
@ -6,12 +6,12 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "gfx/size.h"
|
||||
#include "gui/jlist.h"
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "gfx/size.h"
|
||||
|
||||
using namespace gfx;
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jregion.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
|
||||
/* Global output bitmap. */
|
||||
@ -210,7 +210,7 @@ int jmouse_set_cursor(int type)
|
||||
if (m_cursor == type)
|
||||
return type;
|
||||
else {
|
||||
JTheme theme = ji_get_theme();
|
||||
Theme* theme = CurrentTheme::get();
|
||||
int old = m_cursor;
|
||||
m_cursor = type;
|
||||
|
||||
|
@ -15,8 +15,8 @@
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/jview.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
|
||||
static bool textbox_msg_proc(JWidget widget, JMessage msg);
|
||||
|
@ -6,16 +6,16 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "gfx/size.h"
|
||||
#include "gui/jintern.h"
|
||||
#include "gui/jlist.h"
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jregion.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/jview.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "gfx/size.h"
|
||||
|
||||
#define BAR_SIZE widget->theme->scrollbar_size
|
||||
|
||||
|
@ -6,9 +6,9 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "gui/label.h"
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/label.h"
|
||||
#include "gui/theme.h"
|
||||
|
||||
Label::Label(const char *text)
|
||||
: Widget(JI_LABEL)
|
||||
|
@ -13,9 +13,9 @@
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/preferred_size_event.h"
|
||||
#include "gui/slider.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
|
||||
static int slider_press_x;
|
||||
|
@ -14,33 +14,19 @@
|
||||
#include "gui/jmanager.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/jview.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
|
||||
static JTheme ji_current_theme = NULL;
|
||||
static JTheme ji_standard_theme = NULL;
|
||||
static Theme* current_theme = NULL;
|
||||
|
||||
static void draw_text(BITMAP *bmp, FONT *f, const char *text, int x, int y,
|
||||
int fg_color, int bg_color, bool fill_bg);
|
||||
|
||||
int _ji_theme_init()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void _ji_theme_exit()
|
||||
{
|
||||
if (ji_standard_theme) {
|
||||
delete ji_standard_theme;
|
||||
ji_standard_theme = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
jtheme::jtheme()
|
||||
Theme::Theme()
|
||||
{
|
||||
this->name = "Theme";
|
||||
this->default_font = font; /* default Allegro font */
|
||||
this->default_font = font; // Default Allegro font
|
||||
this->desktop_color = 0;
|
||||
this->textbox_fg_color = 0;
|
||||
this->textbox_bg_color = 0;
|
||||
@ -50,58 +36,56 @@ jtheme::jtheme()
|
||||
this->guiscale = 1;
|
||||
}
|
||||
|
||||
jtheme::~jtheme()
|
||||
Theme::~Theme()
|
||||
{
|
||||
if (ji_current_theme == this)
|
||||
ji_set_theme(NULL);
|
||||
if (current_theme == this)
|
||||
CurrentTheme::set(NULL);
|
||||
}
|
||||
|
||||
/**********************************************************************/
|
||||
void Theme::regenerate()
|
||||
{
|
||||
int type = jmouse_get_cursor();
|
||||
jmouse_set_cursor(JI_CURSOR_NULL);
|
||||
|
||||
void ji_set_theme(JTheme theme)
|
||||
onRegenerate();
|
||||
|
||||
jmouse_set_cursor(type);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
void CurrentTheme::set(Theme* theme)
|
||||
{
|
||||
JWidget manager = ji_get_default_manager();
|
||||
|
||||
ji_current_theme = theme;
|
||||
current_theme = theme;
|
||||
|
||||
if (ji_current_theme) {
|
||||
ji_regen_theme();
|
||||
if (current_theme) {
|
||||
current_theme->regenerate();
|
||||
|
||||
if (manager && jwidget_get_theme(manager) == NULL)
|
||||
jwidget_set_theme(manager, theme);
|
||||
}
|
||||
}
|
||||
|
||||
JTheme ji_get_theme()
|
||||
Theme* CurrentTheme::get()
|
||||
{
|
||||
return ji_current_theme;
|
||||
}
|
||||
|
||||
void ji_regen_theme()
|
||||
{
|
||||
if (ji_current_theme) {
|
||||
int type = jmouse_get_cursor();
|
||||
jmouse_set_cursor(JI_CURSOR_NULL);
|
||||
|
||||
ji_current_theme->regen();
|
||||
|
||||
jmouse_set_cursor(type);
|
||||
}
|
||||
return current_theme;
|
||||
}
|
||||
|
||||
int ji_color_foreground()
|
||||
{
|
||||
return ji_current_theme->color_foreground();
|
||||
return current_theme->color_foreground();
|
||||
}
|
||||
|
||||
int ji_color_disabled()
|
||||
{
|
||||
return ji_current_theme->color_disabled();
|
||||
return current_theme->color_disabled();
|
||||
}
|
||||
|
||||
int ji_color_face()
|
||||
{
|
||||
return ji_current_theme->color_face();
|
||||
return current_theme->color_face();
|
||||
}
|
||||
|
||||
int ji_color_facelight()
|
||||
@ -122,17 +106,17 @@ int ji_color_faceshadow()
|
||||
|
||||
int ji_color_hotface()
|
||||
{
|
||||
return ji_current_theme->color_hotface();
|
||||
return current_theme->color_hotface();
|
||||
}
|
||||
|
||||
int ji_color_selected()
|
||||
{
|
||||
return ji_current_theme->color_selected();
|
||||
return current_theme->color_selected();
|
||||
}
|
||||
|
||||
int ji_color_background()
|
||||
{
|
||||
return ji_current_theme->color_background();
|
||||
return current_theme->color_background();
|
||||
}
|
||||
|
||||
BITMAP* ji_apply_guiscale(BITMAP* original)
|
@ -4,8 +4,8 @@
|
||||
// This source file is ditributed under a BSD-like license, please
|
||||
// read LICENSE.txt for more information.
|
||||
|
||||
#ifndef GUI_JTHEME_H_INCLUDED
|
||||
#define GUI_JTHEME_H_INCLUDED
|
||||
#ifndef GUI_THEME_H_INCLUDED
|
||||
#define GUI_THEME_H_INCLUDED
|
||||
|
||||
#include "gui/jbase.h"
|
||||
|
||||
@ -16,7 +16,7 @@ class ButtonBase;
|
||||
class Entry;
|
||||
class Slider;
|
||||
|
||||
class jtheme
|
||||
class Theme
|
||||
{
|
||||
public:
|
||||
const char* name;
|
||||
@ -29,10 +29,11 @@ public:
|
||||
int scrollbar_size;
|
||||
int guiscale;
|
||||
|
||||
jtheme();
|
||||
virtual ~jtheme();
|
||||
Theme();
|
||||
virtual ~Theme();
|
||||
|
||||
void regenerate();
|
||||
|
||||
virtual void regen() = 0;
|
||||
virtual BITMAP* set_cursor(int type, int *focus_x, int *focus_y) = 0;
|
||||
virtual void init_widget(JWidget widget) = 0;
|
||||
virtual JRegion get_window_mask(JWidget widget) = 0;
|
||||
@ -68,11 +69,16 @@ public:
|
||||
virtual void draw_view_viewport(JWidget widget, JRect clip) = 0;
|
||||
virtual void draw_frame(Frame* frame, JRect clip) = 0;
|
||||
|
||||
protected:
|
||||
virtual void onRegenerate() = 0;
|
||||
|
||||
};
|
||||
|
||||
void ji_set_theme(JTheme theme);
|
||||
JTheme ji_get_theme();
|
||||
void ji_regen_theme();
|
||||
namespace CurrentTheme
|
||||
{
|
||||
void set(Theme* theme);
|
||||
Theme* get();
|
||||
}
|
||||
|
||||
int ji_color_foreground();
|
||||
int ji_color_disabled();
|
||||
@ -89,7 +95,7 @@ BITMAP* ji_apply_guiscale(BITMAP* original);
|
||||
// Every icon/graphics/font should be scaled to this factor.
|
||||
inline int jguiscale()
|
||||
{
|
||||
return ji_get_theme() ? ji_get_theme()->guiscale: 1;
|
||||
return CurrentTheme::get() ? CurrentTheme::get()->guiscale: 1;
|
||||
}
|
||||
|
||||
#endif
|
@ -59,7 +59,7 @@ Widget::Widget(int type)
|
||||
this->max_h = INT_MAX;
|
||||
this->children = jlist_new();
|
||||
this->parent = NULL;
|
||||
this->theme = ji_get_theme();
|
||||
this->theme = CurrentTheme::get();
|
||||
this->hooks = jlist_new();
|
||||
|
||||
this->m_align = 0;
|
||||
@ -858,7 +858,7 @@ int jwidget_get_bg_color(JWidget widget)
|
||||
return widget->getBgColor();
|
||||
}
|
||||
|
||||
JTheme jwidget_get_theme(JWidget widget)
|
||||
Theme* jwidget_get_theme(JWidget widget)
|
||||
{
|
||||
ASSERT_VALID_WIDGET(widget);
|
||||
|
||||
@ -1054,7 +1054,7 @@ void jwidget_set_bg_color(JWidget widget, int color)
|
||||
widget->setBgColor(color);
|
||||
}
|
||||
|
||||
void jwidget_set_theme(JWidget widget, JTheme theme)
|
||||
void jwidget_set_theme(JWidget widget, Theme* theme)
|
||||
{
|
||||
ASSERT_VALID_WIDGET(widget);
|
||||
|
||||
|
@ -82,7 +82,7 @@ JRect jwidget_get_child_rect(JWidget widget);
|
||||
JRegion jwidget_get_region(JWidget widget);
|
||||
JRegion jwidget_get_drawable_region(JWidget widget, int flags);
|
||||
int jwidget_get_bg_color(JWidget widget);
|
||||
JTheme jwidget_get_theme(JWidget widget);
|
||||
Theme* jwidget_get_theme(JWidget widget);
|
||||
int jwidget_get_text_length(JWidget widget);
|
||||
int jwidget_get_text_height(JWidget widget);
|
||||
void jwidget_get_texticon_info(JWidget widget,
|
||||
@ -96,7 +96,7 @@ void jwidget_set_rect(JWidget widget, JRect rect);
|
||||
void jwidget_set_min_size(JWidget widget, int w, int h);
|
||||
void jwidget_set_max_size(JWidget widget, int w, int h);
|
||||
void jwidget_set_bg_color(JWidget widget, int color);
|
||||
void jwidget_set_theme(JWidget widget, JTheme theme);
|
||||
void jwidget_set_theme(JWidget widget, Theme* theme);
|
||||
|
||||
/* drawing methods */
|
||||
|
||||
@ -149,7 +149,7 @@ public:
|
||||
/* structures */
|
||||
JList children; /* sub-objects */
|
||||
JWidget parent; /* who is the parent? */
|
||||
JTheme theme; /* widget's theme */
|
||||
Theme* theme; // Widget's theme
|
||||
|
||||
/* virtual properties */
|
||||
JList hooks; /* hooks with msg_proc and specific data */
|
||||
@ -167,7 +167,7 @@ public:
|
||||
|
||||
/* more properties... */
|
||||
|
||||
/* for JTheme */
|
||||
// Extra data for the theme
|
||||
void *theme_data[4];
|
||||
|
||||
/* for user */
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include "gui/jintern.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/theme.h"
|
||||
|
||||
#include "app.h"
|
||||
#include "app/color_utils.h"
|
||||
@ -497,7 +497,7 @@ void draw_color_button(BITMAP* bmp,
|
||||
bool outer_se, bool outer_s, bool outer_sw, bool outer_w,
|
||||
int imgtype, const Color& color, bool hot, bool drag)
|
||||
{
|
||||
SkinTheme* theme = (SkinTheme*)ji_get_theme();
|
||||
SkinTheme* theme = (SkinTheme*)CurrentTheme::get();
|
||||
int scale = jguiscale();
|
||||
|
||||
// Draw background (the color)
|
||||
|
@ -135,7 +135,7 @@ struct Monitor
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
static JWidget manager = NULL;
|
||||
static JTheme ase_theme = NULL;
|
||||
static Theme* ase_theme = NULL;
|
||||
|
||||
static int monitor_timer = -1;
|
||||
static MonitorList* monitors = NULL;
|
||||
@ -296,8 +296,8 @@ gfx_done:;
|
||||
manager = jmanager_new();
|
||||
jwidget_add_hook(manager, JI_WIDGET, manager_msg_proc, NULL);
|
||||
|
||||
/* setup the standard jinete theme for widgets */
|
||||
ji_set_theme(ase_theme = new SkinTheme());
|
||||
// Setup the GUI theme for all widgets
|
||||
CurrentTheme::set(ase_theme = new SkinTheme());
|
||||
|
||||
// Setup the handler for window-resize events
|
||||
set_resize_callback(resize_callback);
|
||||
@ -369,7 +369,7 @@ void exit_module_gui()
|
||||
destroy_default_font();
|
||||
|
||||
// Now we can destroy theme
|
||||
ji_set_theme(NULL);
|
||||
CurrentTheme::set(NULL);
|
||||
delete ase_theme;
|
||||
|
||||
remove_keyboard();
|
||||
@ -575,9 +575,9 @@ void gui_setup_screen(bool reload_font)
|
||||
|
||||
// Update guiscale factor
|
||||
int old_guiscale = jguiscale();
|
||||
ji_get_theme()->guiscale = (screen_scaling == 1 &&
|
||||
JI_SCREEN_W > 512 &&
|
||||
JI_SCREEN_H > 256) ? 2: 1;
|
||||
CurrentTheme::get()->guiscale = (screen_scaling == 1 &&
|
||||
JI_SCREEN_W > 512 &&
|
||||
JI_SCREEN_H > 256) ? 2: 1;
|
||||
|
||||
// If the guiscale have changed
|
||||
if (old_guiscale != jguiscale()) {
|
||||
@ -592,7 +592,7 @@ void gui_setup_screen(bool reload_font)
|
||||
|
||||
// Regenerate the theme
|
||||
if (regen) {
|
||||
ji_regen_theme();
|
||||
CurrentTheme::get()->regenerate();
|
||||
reinit = true;
|
||||
}
|
||||
|
||||
@ -605,7 +605,7 @@ void gui_setup_screen(bool reload_font)
|
||||
|
||||
static void destroy_default_font()
|
||||
{
|
||||
JTheme theme = ji_get_theme();
|
||||
Theme* theme = CurrentTheme::get();
|
||||
|
||||
// No font for now
|
||||
if (theme->default_font && theme->default_font != font)
|
||||
@ -616,7 +616,7 @@ static void destroy_default_font()
|
||||
|
||||
static void reload_default_font()
|
||||
{
|
||||
JTheme theme = ji_get_theme();
|
||||
Theme* theme = CurrentTheme::get();
|
||||
SkinTheme* skin_theme = static_cast<SkinTheme*>(theme);
|
||||
const char *user_font;
|
||||
|
||||
@ -1288,7 +1288,7 @@ static bool manager_msg_proc(JWidget widget, JMessage msg)
|
||||
static void on_palette_change_signal()
|
||||
{
|
||||
// Regenerate the theme
|
||||
ji_regen_theme();
|
||||
CurrentTheme::get()->regenerate();
|
||||
|
||||
// Fixup the icons
|
||||
JLink link;
|
||||
|
@ -190,7 +190,7 @@ std::string SkinTheme::get_font_filename() const
|
||||
return "skins/" + m_selected_skin + "/font.pcx";
|
||||
}
|
||||
|
||||
void SkinTheme::regen()
|
||||
void SkinTheme::onRegenerate()
|
||||
{
|
||||
check_icon_size = 8 * jguiscale();
|
||||
radio_icon_size = 8 * jguiscale();
|
||||
|
@ -25,8 +25,8 @@
|
||||
|
||||
#include "gfx/rect.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/property.h"
|
||||
#include "gui/theme.h"
|
||||
|
||||
// Property to show widgets with a special look (e.g.: buttons or sliders with mini-borders)
|
||||
class SkinProperty : public Property
|
||||
@ -420,7 +420,7 @@ enum {
|
||||
|
||||
// This is the GUI theme used by ASE (which use images from data/skins
|
||||
// directory).
|
||||
class SkinTheme : public jtheme
|
||||
class SkinTheme : public Theme
|
||||
{
|
||||
std::string m_selected_skin;
|
||||
BITMAP* m_sheet_bmp;
|
||||
@ -436,7 +436,6 @@ public:
|
||||
|
||||
std::string get_font_filename() const;
|
||||
|
||||
void regen();
|
||||
BITMAP* set_cursor(int type, int* focus_x, int* focus_y);
|
||||
void init_widget(JWidget widget);
|
||||
JRegion get_window_mask(JWidget widget);
|
||||
@ -537,6 +536,10 @@ public:
|
||||
draw_bounds_nw(bmp, rc.x, rc.y, rc.x+rc.w-1, rc.y+rc.h-1, nw, bg);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
void onRegenerate();
|
||||
|
||||
private:
|
||||
|
||||
BITMAP* cropPartFromSheet(BITMAP* bmp, int x, int y, int w, int h, bool cursor = false);
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "modules/gfx.h"
|
||||
#include "modules/gui.h"
|
||||
|
@ -22,12 +22,12 @@
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "base/bind.h"
|
||||
#include "gui/jbox.h"
|
||||
#include "gui/button.h"
|
||||
#include "gui/jbox.h"
|
||||
#include "gui/jhook.h"
|
||||
#include "gui/jlist.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "modules/gui.h"
|
||||
#include "widgets/groupbut.h"
|
||||
|
@ -27,8 +27,8 @@
|
||||
#include "gui/jmessage.h"
|
||||
#include "gui/jrect.h"
|
||||
#include "gui/jsystem.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/jview.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "modules/gui.h"
|
||||
#include "modules/palettes.h"
|
||||
|
@ -24,10 +24,10 @@
|
||||
#include "base/bind.h"
|
||||
#include "core/cfg.h"
|
||||
#include "effect/effect.h"
|
||||
#include "gui/jbox.h"
|
||||
#include "gui/button.h"
|
||||
#include "gui/jbox.h"
|
||||
#include "gui/jhook.h"
|
||||
#include "gui/jtheme.h"
|
||||
#include "gui/theme.h"
|
||||
#include "gui/widget.h"
|
||||
#include "modules/gfx.h"
|
||||
#include "modules/gui.h"
|
||||
|
Loading…
x
Reference in New Issue
Block a user