mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-11-22 06:21:45 +03:00
Content: Remove redundant and unused redraw message fields.
This was archaic support for rendering images as "overlays", and avoiding a redraw via the browser window redraw and HTML contents. Basically it was "plot this image here", but it was too error prone, so it was removed a long time ago. These are some last vestiges that made the redraw message look more complex than it is.
This commit is contained in:
parent
db7f1f01a9
commit
8e1154eb1c
@ -538,14 +538,6 @@ void content__request_redraw(struct content *c,
|
||||
data.redraw.width = width;
|
||||
data.redraw.height = height;
|
||||
|
||||
data.redraw.full_redraw = true;
|
||||
|
||||
data.redraw.object = c;
|
||||
data.redraw.object_x = 0;
|
||||
data.redraw.object_y = 0;
|
||||
data.redraw.object_width = c->width;
|
||||
data.redraw.object_height = c->height;
|
||||
|
||||
content_broadcast(c, CONTENT_MSG_REDRAW, &data);
|
||||
}
|
||||
|
||||
|
@ -131,15 +131,6 @@ union content_msg_data {
|
||||
/** CONTENT_MSG_REDRAW - Area of content which needs redrawing */
|
||||
struct {
|
||||
int x, y, width, height;
|
||||
/** Redraw the area fully. If false, object must be set,
|
||||
* and only the object will be redrawn. */
|
||||
bool full_redraw;
|
||||
/** Object to redraw if full_redraw is false. */
|
||||
struct content *object;
|
||||
/** Coordinates to plot object at. */
|
||||
int object_x, object_y;
|
||||
/** Dimensions to plot object with. */
|
||||
int object_width, object_height;
|
||||
} redraw;
|
||||
/** CONTENT_MSG_REFRESH - Minimum delay */
|
||||
int delay;
|
||||
|
@ -191,7 +191,6 @@ html_object_callback(hlcache_handle *object,
|
||||
data.redraw.y = y + box->padding[TOP];
|
||||
data.redraw.width = box->width;
|
||||
data.redraw.height = box->height;
|
||||
data.redraw.full_redraw = true;
|
||||
|
||||
content_broadcast(&c->base, CONTENT_MSG_REDRAW, &data);
|
||||
}
|
||||
@ -289,53 +288,39 @@ html_object_callback(hlcache_handle *object,
|
||||
break;
|
||||
}
|
||||
|
||||
data.redraw.object_width = box->width;
|
||||
data.redraw.object_height = box->height;
|
||||
|
||||
/* Add offset to box */
|
||||
data.redraw.x += x;
|
||||
data.redraw.y += y;
|
||||
data.redraw.object_x += x;
|
||||
data.redraw.object_y += y;
|
||||
|
||||
content_broadcast(&c->base,
|
||||
CONTENT_MSG_REDRAW, &data);
|
||||
break;
|
||||
|
||||
} else {
|
||||
/* Non-background case */
|
||||
if (hlcache_handle_get_content(object) ==
|
||||
event->data.redraw.object) {
|
||||
int w = content_get_width(object);
|
||||
int h = content_get_height(object);
|
||||
|
||||
int w = content_get_width(object);
|
||||
int h = content_get_height(object);
|
||||
|
||||
if (w != 0) {
|
||||
data.redraw.x =
|
||||
data.redraw.x *
|
||||
if (w != 0 && box->width != w) {
|
||||
/* Not showing image at intrinsic
|
||||
* width; need to scale the redraw
|
||||
* request area. */
|
||||
data.redraw.x = data.redraw.x *
|
||||
box->width / w;
|
||||
data.redraw.width =
|
||||
data.redraw.width =
|
||||
data.redraw.width *
|
||||
box->width / w;
|
||||
}
|
||||
}
|
||||
|
||||
if (h != 0) {
|
||||
data.redraw.y =
|
||||
data.redraw.y *
|
||||
if (h != 0 && box->height != w) {
|
||||
/* Not showing image at intrinsic
|
||||
* height; need to scale the redraw
|
||||
* request area. */
|
||||
data.redraw.y = data.redraw.y *
|
||||
box->height / h;
|
||||
data.redraw.height =
|
||||
data.redraw.height =
|
||||
data.redraw.height *
|
||||
box->height / h;
|
||||
}
|
||||
|
||||
data.redraw.object_width = box->width;
|
||||
data.redraw.object_height = box->height;
|
||||
}
|
||||
|
||||
data.redraw.x += x + box->padding[LEFT];
|
||||
data.redraw.y += y + box->padding[TOP];
|
||||
data.redraw.object_x += x + box->padding[LEFT];
|
||||
data.redraw.object_y += y + box->padding[TOP];
|
||||
}
|
||||
|
||||
content_broadcast(&c->base, CONTENT_MSG_REDRAW, &data);
|
||||
|
@ -173,11 +173,9 @@ static void nsgif_animate(void *p)
|
||||
|
||||
/* redraw background (true) or plot on top (false) */
|
||||
if (gif->current_frame > 0) {
|
||||
data.redraw.full_redraw =
|
||||
gif->gif->frames[f - 1].redraw_required;
|
||||
/* previous frame needed clearing: expand the redraw area to
|
||||
* cover it */
|
||||
if (data.redraw.full_redraw) {
|
||||
if (gif->gif->frames[f - 1].redraw_required) {
|
||||
if (data.redraw.x >
|
||||
(int)(gif->gif->frames[f - 1].redraw_x)) {
|
||||
data.redraw.width += data.redraw.x -
|
||||
@ -207,28 +205,8 @@ static void nsgif_animate(void *p)
|
||||
data.redraw.y +
|
||||
gif->gif->frames[f - 1].redraw_height;
|
||||
}
|
||||
} else {
|
||||
/* do advanced check */
|
||||
if ((data.redraw.x == 0) && (data.redraw.y == 0) &&
|
||||
(data.redraw.width == (int)(gif->gif->width)) &&
|
||||
(data.redraw.height == (int)(gif->gif->height))) {
|
||||
data.redraw.full_redraw = !gif->gif->frames[f].opaque;
|
||||
} else {
|
||||
data.redraw.full_redraw = true;
|
||||
data.redraw.x = 0;
|
||||
data.redraw.y = 0;
|
||||
data.redraw.width = gif->gif->width;
|
||||
data.redraw.height = gif->gif->height;
|
||||
}
|
||||
}
|
||||
|
||||
/* other data */
|
||||
data.redraw.object = (struct content *) gif;
|
||||
data.redraw.object_x = 0;
|
||||
data.redraw.object_y = 0;
|
||||
data.redraw.object_width = gif->base.width;
|
||||
data.redraw.object_height = gif->base.height;
|
||||
|
||||
content_broadcast(&gif->base, CONTENT_MSG_REDRAW, &data);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user