From 49fce64c1a9a76e8ef9062e90932df3f55073508 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Mon, 28 Jan 2008 00:58:31 +0000 Subject: [PATCH] Fix vertical position of images with margin/borders/padding. svn path=/trunk/netsurf/; revision=3785 --- !NetSurf/!Run,feb | 2 +- makefile | 30 ++++++++++++++++-------------- render/html_redraw.c | 6 ++++++ render/layout.c | 3 ++- 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/!NetSurf/!Run,feb b/!NetSurf/!Run,feb index 7828c21fc..156435039 100644 --- a/!NetSurf/!Run,feb +++ b/!NetSurf/!Run,feb @@ -99,7 +99,7 @@ CDir .WWW.NetSurf | NB: trailing dot is required FontInstall NetSurf:Resources.Fonts. -WimpSlot -min 2240k -max 2240k +WimpSlot -min 3540k -max 3540k Run .!RunImage -v %*0 2>.WWW.NetSurf.Log | Uninstall NetSurf-specific fonts diff --git a/makefile b/makefile index cd1224480..4298c57db 100644 --- a/makefile +++ b/makefile @@ -72,8 +72,23 @@ OBJECTS_GTK += font_pango.o gtk_bitmap.o gtk_gui.o \ gtk_history.o gtk_window.o gtk_filetype.o \ gtk_download.o # gtk/ +# Default target - platform specific files may specify special-case rules for +# various files. +default: riscos -OBJDIR_RISCOS = $(shell $(CC) -dumpmachine) + +# Inclusion of platform specific files has to occur after the OBJDIR stuff as +# that is referred to in the files + +OS = riscos +ifeq ($(OS),riscos) +include riscos.mk +else +include posix.mk +endif + + +OBJDIR_RISCOS = arm-riscos-aof SOURCES_RISCOS=$(OBJECTS_RISCOS:.o=.c) OBJS_RISCOS=$(OBJECTS_RISCOS:%.o=$(OBJDIR_RISCOS)/%.o) @@ -91,19 +106,6 @@ OBJDIR_GTK = objects-gtk SOURCES_GTK=$(OBJECTS_GTK:.o=.c) OBJS_GTK=$(OBJECTS_GTK:%.o=$(OBJDIR_GTK)/%.o) -# Default target - platform specific files may specify special-case rules for -# various files. -default: riscos - -# Inclusion of platform specific files has to occur after the OBJDIR stuff as -# that is referred to in the files - -OS = $(word 2,$(subst -, ,$(shell $(SYSTEM_CC) -dumpmachine))) -ifeq ($(OS),riscos) -include riscos.mk -else -include posix.mk -endif VPATH = content:content/fetchers:css:desktop:image:render:riscos:riscos/configure:riscos/gui:utils:debug:gtk diff --git a/render/html_redraw.c b/render/html_redraw.c index 52b33190a..6ad5f8c47 100644 --- a/render/html_redraw.c +++ b/render/html_redraw.c @@ -1305,6 +1305,12 @@ bool html_redraw_background(int x, int y, struct box *box, float scale, if (plot_content) { if (!plot.clip(clip_x0, clip_y0, clip_x1, clip_y1)) return false; + if ((repeat_x || repeat_y) && (!(repeat_x && repeat_y))) { + clip_x0 += ceilf(box->border[LEFT] * scale); + clip_x1 -= ceilf(box->border[RIGHT] * scale); + clip_y0 += ceilf(box->border[TOP] * scale); + clip_y1 -= ceilf(box->border[BOTTOM] * scale); + } if (!content_redraw_tiled(background->background, x, y, ceilf(background->background->width * scale), ceilf(background->background->height * scale), diff --git a/render/layout.c b/render/layout.c index d00cf6af4..02374e755 100644 --- a/render/layout.c +++ b/render/layout.c @@ -1505,7 +1505,8 @@ bool layout_line(struct box *first, int *width, int *y, d->x += x0; d->y = *y - d->padding[TOP]; } - if (d->type == BOX_INLINE_BLOCK) { + if ((d->type == BOX_INLINE && (d->object || d->gadget)) || + d->type == BOX_INLINE_BLOCK) { d->x += x0; d->y = *y + d->border[TOP] + d->margin[TOP]; }