mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-17 08:43:11 +00:00
Removed JM_DRAWRGN message. Removed jwidget_redraw_region and jwidget_send_message_after_type functions.
This commit is contained in:
parent
6d04c3815c
commit
b70f84b46c
@ -291,7 +291,7 @@ void effect_flush(Effect *effect)
|
||||
jregion_intersect(reg1, reg1, reg2);
|
||||
jregion_free(reg2);
|
||||
|
||||
jwidget_redraw_region(editor, reg1);
|
||||
jwidget_invalidate_region(editor, reg1);
|
||||
jregion_free(reg1);
|
||||
}
|
||||
}
|
||||
|
@ -150,7 +150,6 @@ enum {
|
||||
JM_REQSIZE, /* request size */
|
||||
JM_SETPOS, /* set position */
|
||||
JM_WINMOVE, /* window movement */
|
||||
JM_DRAWRGN, /* redraw region */
|
||||
JM_DEFERREDFREE, /* deferred jwidget_free call */
|
||||
JM_DIRTYCHILDREN, /* dirty children */
|
||||
JM_QUEUEPROCESSING, /* only sent to manager which indicate
|
||||
|
@ -115,7 +115,6 @@ static bool manager_msg_proc(JWidget widget, JMessage msg);
|
||||
static void manager_request_size(JWidget widget, int *w, int *h);
|
||||
static void manager_set_position(JWidget widget, JRect rect);
|
||||
static void manager_pump_queue(JWidget widget);
|
||||
static void manager_redraw_region(JWidget widget, JRegion region);
|
||||
|
||||
/* auxiliary */
|
||||
static void generate_setcursor_message();
|
||||
@ -1079,10 +1078,6 @@ static bool manager_msg_proc(JWidget widget, JMessage msg)
|
||||
manager_set_position(widget, &msg->setpos.rect);
|
||||
return true;
|
||||
|
||||
case JM_DRAWRGN:
|
||||
manager_redraw_region(widget, msg->drawrgn.region);
|
||||
return true;
|
||||
|
||||
case JM_DRAW:
|
||||
jdraw_rectfill(&msg->draw.rect, widget->theme->desktop_color);
|
||||
return true;
|
||||
@ -1298,7 +1293,7 @@ static void manager_pump_queue(JWidget widget_manager)
|
||||
}
|
||||
}
|
||||
|
||||
static void manager_redraw_region(JWidget widget, JRegion region)
|
||||
void jmanager_invalidate_region(JWidget widget, JRegion region)
|
||||
{
|
||||
JWidget window;
|
||||
JRegion reg1 = jregion_new(NULL, 0);
|
||||
@ -1313,8 +1308,8 @@ static void manager_redraw_region(JWidget widget, JRegion region)
|
||||
JI_LIST_FOR_EACH(widget->children, link) {
|
||||
window = (JWidget)link->data;
|
||||
|
||||
/* redraw this window */
|
||||
jwidget_redraw_region(window, reg1);
|
||||
// invalidate regions of this window
|
||||
jwidget_invalidate_region(window, reg1);
|
||||
|
||||
/* there is desktop? */
|
||||
if (jwindow_is_desktop(window))
|
||||
@ -1327,13 +1322,9 @@ static void manager_redraw_region(JWidget widget, JRegion region)
|
||||
jregion_free(reg3);
|
||||
}
|
||||
|
||||
/* clean areas outside windows (only for non-desktop enviroments) */
|
||||
if (link == widget->children->end) {
|
||||
JMessage msg = jmessage_new(JM_DRAWRGN);
|
||||
msg->drawrgn.region = reg1;
|
||||
jwidget_send_message_after_type(widget, msg, JI_MANAGER);
|
||||
jmessage_free(msg);
|
||||
}
|
||||
// invalidate areas outside windows (only when there are not a desktop window)
|
||||
if (link == widget->children->end)
|
||||
jwidget_invalidate_region(widget, reg1);
|
||||
|
||||
jregion_free(reg1);
|
||||
jregion_free(reg2);
|
||||
|
@ -76,4 +76,6 @@ void jmanager_add_msg_filter(int message, JWidget widget);
|
||||
void jmanager_remove_msg_filter(int message, JWidget widget);
|
||||
void jmanager_remove_msg_filter_for(JWidget widget);
|
||||
|
||||
void jmanager_invalidate_region(JWidget widget, JRegion region);
|
||||
|
||||
#endif
|
||||
|
@ -1162,22 +1162,6 @@ void jwidget_flush_redraw(JWidget widget)
|
||||
jwidget_flush_redraw((JWidget)link->data);
|
||||
}
|
||||
|
||||
void jwidget_redraw_region(JWidget widget, const JRegion region)
|
||||
{
|
||||
assert_valid_widget(widget);
|
||||
|
||||
if (jwidget_is_visible(widget)) {
|
||||
#if 1
|
||||
JMessage msg = jmessage_new(JM_DRAWRGN);
|
||||
msg->drawrgn.region = region;
|
||||
jwidget_send_message(widget, msg);
|
||||
jmessage_free(msg);
|
||||
#else
|
||||
jwidget_invalidate_region(widget, region);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void jwidget_invalidate(JWidget widget)
|
||||
{
|
||||
assert_valid_widget(widget);
|
||||
@ -1336,32 +1320,6 @@ bool jwidget_send_message(JWidget widget, JMessage msg)
|
||||
return done;
|
||||
}
|
||||
|
||||
bool jwidget_send_message_after_type(JWidget widget, JMessage msg, int type)
|
||||
{
|
||||
bool done = false;
|
||||
bool send = false;
|
||||
JHook hook;
|
||||
JLink link;
|
||||
|
||||
assert_valid_widget(widget);
|
||||
assert(msg != NULL);
|
||||
|
||||
JI_LIST_FOR_EACH(widget->hooks, link) {
|
||||
hook = reinterpret_cast<JHook>(link->data);
|
||||
|
||||
if (hook->type == type) {
|
||||
send = true;
|
||||
continue;
|
||||
}
|
||||
else if (!send)
|
||||
continue;
|
||||
|
||||
SENDMSG();
|
||||
}
|
||||
|
||||
return done;
|
||||
}
|
||||
|
||||
void jwidget_close_window(JWidget widget)
|
||||
{
|
||||
JWidget window;
|
||||
@ -1528,58 +1486,6 @@ bool jwidget::msg_proc(JMessage msg)
|
||||
return true;
|
||||
}
|
||||
|
||||
case JM_DRAWRGN:
|
||||
#if 0
|
||||
{
|
||||
int redraw = false;
|
||||
JRegion region2;
|
||||
JMessage msg2;
|
||||
JRect rect;
|
||||
JLink link;
|
||||
int count;
|
||||
|
||||
for (it=msg->drawrgn.region->rects; it; it=it->next) {
|
||||
rect = it->data;
|
||||
if ((widget->rc->x <= rect->x+rect->w-1) &&
|
||||
(widget->rc->y <= rect->y+rect->h-1) &&
|
||||
(widget->rc->x+widget->rc->w-1 >= rect->x) &&
|
||||
(widget->rc->y+widget->rc->h-1 >= rect->y)) {
|
||||
redraw = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (redraw) {
|
||||
/* get areas to draw */
|
||||
region2 = jwidget_get_drawable_region(widget, 0);
|
||||
jregion_intersect2 (region2, msg->drawrgn.region);
|
||||
|
||||
/* draw the widget */
|
||||
count = jlist_length(region2->rects);
|
||||
for (it=region2->rects; it; it=it->next) {
|
||||
/* create the draw message */
|
||||
msg2 = jmessage_new(JM_DRAW);
|
||||
msg2->draw.count = --count;
|
||||
jrect_copy(&msg2->draw.rect, (JRect)it->data);
|
||||
jmessage_add_dest(msg2, widget);
|
||||
|
||||
/* enqueue message */
|
||||
jmanager_enqueue_message(msg2);
|
||||
}
|
||||
|
||||
jregion_free(region2);
|
||||
|
||||
/* send message to children */
|
||||
JI_LIST_FOR_EACH(widget->children, link)
|
||||
jwidget_send_message((JWidget)link->data, msg);
|
||||
}
|
||||
}
|
||||
#else
|
||||
if (!(widget->flags & JI_HIDDEN)) /* is visible? */
|
||||
jwidget_invalidate_region(widget, msg->drawrgn.region);
|
||||
#endif
|
||||
return true;
|
||||
|
||||
case JM_DIRTYCHILDREN: {
|
||||
JLink link;
|
||||
|
||||
|
@ -152,7 +152,6 @@ void jwidget_set_theme(JWidget widget, JTheme theme);
|
||||
/* drawing methods */
|
||||
|
||||
void jwidget_flush_redraw(JWidget widget);
|
||||
void jwidget_redraw_region(JWidget widget, const JRegion region);
|
||||
void jwidget_invalidate(JWidget widget);
|
||||
void jwidget_invalidate_rect(JWidget widget, const JRect rect);
|
||||
void jwidget_invalidate_region(JWidget widget, const JRegion region);
|
||||
@ -168,7 +167,6 @@ bool jwidget_emit_signal(JWidget widget, int signal_num);
|
||||
/* manager handler */
|
||||
|
||||
bool jwidget_send_message(JWidget widget, JMessage msg);
|
||||
bool jwidget_send_message_after_type(JWidget widget, JMessage msg, int type);
|
||||
void jwidget_close_window(JWidget widget);
|
||||
void jwidget_capture_mouse(JWidget widget);
|
||||
void jwidget_hard_capture_mouse(JWidget widget);
|
||||
|
@ -614,7 +614,6 @@ static void limit_size(JWidget widget, int *w, int *h)
|
||||
*h = MAX(*h, widget->border_width.t+widget->border_width.b);
|
||||
}
|
||||
|
||||
/* TODO add support to blit available regions */
|
||||
static void move_window(JWidget widget, JRect rect, bool use_blit)
|
||||
{
|
||||
#define FLAGS JI_GDR_CUTTOPWINDOWS | JI_GDR_USECHILDAREA
|
||||
@ -719,8 +718,8 @@ static void move_window(JWidget widget, JRect rect, bool use_blit)
|
||||
jregion_free(moveable_region);
|
||||
}
|
||||
|
||||
jwidget_redraw_region(manager, manager_refresh_region);
|
||||
jwidget_redraw_region(widget, window_refresh_region);
|
||||
jmanager_invalidate_region(manager, manager_refresh_region);
|
||||
jwidget_invalidate_region(widget, window_refresh_region);
|
||||
|
||||
jregion_free(old_drawable_region);
|
||||
jregion_free(new_drawable_region);
|
||||
|
@ -1251,13 +1251,14 @@ void jstandard_theme::draw_window(JWidget widget, JRect clip)
|
||||
|
||||
/* extra lines */
|
||||
if (!jwindow_is_desktop(widget)) {
|
||||
// draw window borders
|
||||
jdraw_rect(pos, COLOR_FOREGROUND);
|
||||
jrect_shrink(pos, 1);
|
||||
jdraw_rectedge(pos, COLOR_BACKGROUND, COLOR_DISABLED);
|
||||
jrect_shrink(pos, 1);
|
||||
jdraw_rectfill(pos, BGCOLOR);
|
||||
|
||||
/* draw title bar */
|
||||
// draw title bar
|
||||
if (widget->has_text()) {
|
||||
int bg = COLOR_SELECTED;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user