mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-25 21:46:57 +03:00
Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/menuclass
This commit is contained in:
commit
9f10babe64
@ -259,7 +259,7 @@ frontends/example/corewindow.c
|
||||
#include "utils/utf8.h"
|
||||
#include "netsurf/keypress.h"
|
||||
#include "netsurf/mouse.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
/* extremely likely there will be additional headers required in a real frontend */
|
||||
#include "example/corewindow.h"
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "utils/corestrings.h"
|
||||
#include "utils/log.h"
|
||||
#include "utils/nsurl.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
#include "netsurf/url_db.h"
|
||||
#include "desktop/system_colour.h"
|
||||
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include "content/urldb.h"
|
||||
#include "netsurf/bitmap.h"
|
||||
|
||||
#include "desktop/system_colour.h"
|
||||
#include "desktop/gui_internal.h"
|
||||
#include "desktop/browser_history.h"
|
||||
#include "desktop/browser_private.h"
|
||||
@ -235,6 +236,45 @@ static void browser_window_history__layout(struct history *history)
|
||||
history->height += BOTTOM_MARGIN / 2;
|
||||
}
|
||||
|
||||
/** plot style for drawing lines between nodes */
|
||||
static plot_style_t pstyle_line = {
|
||||
.stroke_type = PLOT_OP_TYPE_SOLID,
|
||||
.stroke_width = 2,
|
||||
};
|
||||
|
||||
/** plot style for drawing background */
|
||||
static plot_style_t pstyle_bg = {
|
||||
.fill_type = PLOT_OP_TYPE_SOLID,
|
||||
};
|
||||
|
||||
/** plot style for drawing rectangle round unselected nodes */
|
||||
static plot_style_t pstyle_rect = {
|
||||
.stroke_type = PLOT_OP_TYPE_SOLID,
|
||||
.stroke_width = 1,
|
||||
};
|
||||
|
||||
/** plot style for drawing rectangle round selected nodes */
|
||||
static plot_style_t pstyle_rect_sel = {
|
||||
.stroke_type = PLOT_OP_TYPE_SOLID,
|
||||
.stroke_width = 3,
|
||||
};
|
||||
|
||||
/** plot style for font on unselected nodes */
|
||||
static plot_font_style_t pfstyle_node = {
|
||||
.family = PLOT_FONT_FAMILY_SANS_SERIF,
|
||||
.size = 8 * FONT_SIZE_SCALE,
|
||||
.weight = 400,
|
||||
.flags = FONTF_NONE,
|
||||
};
|
||||
|
||||
/** plot style for font on unselected nodes */
|
||||
static plot_font_style_t pfstyle_node_sel = {
|
||||
.family = PLOT_FONT_FAMILY_SANS_SERIF,
|
||||
.size = 8 * FONT_SIZE_SCALE,
|
||||
.weight = 900,
|
||||
.flags = FONTF_NONE,
|
||||
};
|
||||
|
||||
/**
|
||||
* Recursively redraw a history_entry.
|
||||
*
|
||||
@ -260,19 +300,25 @@ browser_window_history__redraw_entry(struct history *history,
|
||||
size_t char_offset;
|
||||
int actual_x;
|
||||
struct history_entry *child;
|
||||
colour c = entry == history->current ?
|
||||
HISTORY_COLOUR_SELECTED : HISTORY_COLOUR_FOREGROUND;
|
||||
int tailsize = 5;
|
||||
int xoffset = x - x0;
|
||||
int yoffset = y - y0;
|
||||
plot_style_t pstyle_history_rect = {
|
||||
.stroke_type = PLOT_OP_TYPE_SOLID,
|
||||
.stroke_colour = c,
|
||||
.stroke_width = entry == history->current ? 3 : 1,
|
||||
};
|
||||
plot_font_style_t fstyle = *plot_style_font;
|
||||
|
||||
plot_style_t *pstyle;
|
||||
plot_font_style_t *pfstyle;
|
||||
|
||||
nserror res;
|
||||
|
||||
/* setup plot styles */
|
||||
if (entry == history->current) {
|
||||
pstyle = &pstyle_rect_sel;
|
||||
pfstyle = &pfstyle_node_sel;
|
||||
} else {
|
||||
pstyle = &pstyle_rect;
|
||||
pfstyle = &pfstyle_node;
|
||||
}
|
||||
|
||||
/* setup clip area */
|
||||
if (clip) {
|
||||
struct rect rect;
|
||||
rect.x0 = x0 + xoffset;
|
||||
@ -289,14 +335,16 @@ browser_window_history__redraw_entry(struct history *history,
|
||||
plot->bitmap(entry->x + xoffset,
|
||||
entry->y + yoffset,
|
||||
WIDTH, HEIGHT,
|
||||
entry->bitmap, 0xffffff, 0);
|
||||
entry->bitmap,
|
||||
0xffffff,
|
||||
0);
|
||||
}
|
||||
|
||||
if (!plot->rectangle(entry->x - 1 + xoffset,
|
||||
entry->y - 1 + yoffset,
|
||||
entry->x + xoffset + WIDTH,
|
||||
entry->y + yoffset + HEIGHT,
|
||||
&pstyle_history_rect)) {
|
||||
entry->y - 1 + yoffset,
|
||||
entry->x + xoffset + WIDTH,
|
||||
entry->y + yoffset + HEIGHT,
|
||||
pstyle)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -307,36 +355,42 @@ browser_window_history__redraw_entry(struct history *history,
|
||||
return false;
|
||||
}
|
||||
|
||||
fstyle.background = HISTORY_COLOUR_BACKGROUND;
|
||||
fstyle.foreground = c;
|
||||
fstyle.weight = entry == history->current ? 900 : 400;
|
||||
|
||||
if (!plot->text(entry->x + xoffset, entry->y + HEIGHT + 12 + yoffset,
|
||||
entry->page.title, char_offset, &fstyle))
|
||||
if (!plot->text(entry->x + xoffset,
|
||||
entry->y + HEIGHT + 12 + yoffset,
|
||||
entry->page.title,
|
||||
char_offset,
|
||||
pfstyle)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* for each child node draw a line and recurse redraw into it */
|
||||
for (child = entry->forward; child; child = child->next) {
|
||||
if (!plot->line(entry->x + WIDTH + xoffset,
|
||||
entry->y + HEIGHT / 2 + yoffset,
|
||||
entry->x + WIDTH + tailsize + xoffset,
|
||||
entry->y + HEIGHT / 2 + yoffset,
|
||||
plot_style_stroke_history))
|
||||
entry->x + WIDTH + tailsize + xoffset,
|
||||
entry->y + HEIGHT / 2 + yoffset,
|
||||
&pstyle_line)) {
|
||||
return false;
|
||||
}
|
||||
if (!plot->line(entry->x + WIDTH + tailsize + xoffset,
|
||||
entry->y + HEIGHT / 2 + yoffset,
|
||||
child->x - tailsize +xoffset,
|
||||
child->y + HEIGHT / 2 + yoffset,
|
||||
plot_style_stroke_history))
|
||||
entry->y + HEIGHT / 2 + yoffset,
|
||||
child->x - tailsize +xoffset,
|
||||
child->y + HEIGHT / 2 + yoffset,
|
||||
&pstyle_line)) {
|
||||
return false;
|
||||
}
|
||||
if (!plot->line(child->x - tailsize + xoffset,
|
||||
child->y + HEIGHT / 2 + yoffset,
|
||||
child->x + xoffset, child->y +
|
||||
child->y + HEIGHT / 2 + yoffset,
|
||||
child->x + xoffset, child->y +
|
||||
HEIGHT / 2 + yoffset,
|
||||
plot_style_stroke_history))
|
||||
&pstyle_line)) {
|
||||
return false;
|
||||
}
|
||||
if (!browser_window_history__redraw_entry(history, child,
|
||||
x0, y0, x1, y1, x, y, clip, ctx))
|
||||
x0, y0, x1, y1, x, y, clip, ctx)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -415,6 +469,17 @@ nserror browser_window_history_create(struct browser_window *bw)
|
||||
{
|
||||
struct history *history;
|
||||
|
||||
pstyle_bg.fill_colour = ns_system_colour_char("Window");
|
||||
pfstyle_node.background = pstyle_bg.fill_colour;
|
||||
pfstyle_node_sel.background = pstyle_bg.fill_colour;
|
||||
|
||||
pstyle_line.stroke_colour = ns_system_colour_char("GrayText");
|
||||
pstyle_rect.stroke_colour = pstyle_line.stroke_colour;
|
||||
pfstyle_node.foreground = pstyle_line.stroke_colour;
|
||||
|
||||
pstyle_rect_sel.stroke_colour = ns_system_colour_char("Highlight");
|
||||
pfstyle_node_sel.foreground = pstyle_rect_sel.stroke_colour;
|
||||
|
||||
bw->history = NULL;
|
||||
|
||||
history = calloc(1, sizeof *history);
|
||||
@ -426,6 +491,7 @@ nserror browser_window_history_create(struct browser_window *bw)
|
||||
history->height = BOTTOM_MARGIN / 2;
|
||||
|
||||
bw->history = history;
|
||||
|
||||
return NSERROR_OK;
|
||||
}
|
||||
|
||||
@ -709,6 +775,7 @@ bool browser_window_history_redraw(struct browser_window *bw,
|
||||
|
||||
if (!history->start)
|
||||
return true;
|
||||
|
||||
return browser_window_history__redraw_entry(history, history->start,
|
||||
0, 0, 0, 0, 0, 0, false, ctx);
|
||||
}
|
||||
@ -726,6 +793,7 @@ bool browser_window_history_redraw_rectangle(struct browser_window *bw,
|
||||
|
||||
if (!history->start)
|
||||
return true;
|
||||
|
||||
return browser_window_history__redraw_entry(history, history->start,
|
||||
x0, y0, x1, y1, x, y, true, ctx);
|
||||
}
|
||||
|
@ -26,9 +26,10 @@
|
||||
|
||||
#include <libwapcaplet/libwapcaplet.h>
|
||||
|
||||
#include "netsurf/types.h"
|
||||
#include "netsurf/browser_window.h"
|
||||
|
||||
#include "desktop/frame_types.h"
|
||||
#include "desktop/plot_style.h"
|
||||
|
||||
struct box;
|
||||
struct hlcache_handle;
|
||||
|
@ -26,7 +26,6 @@
|
||||
|
||||
#include <hpdf.h>
|
||||
|
||||
#include "desktop/plot_style.h"
|
||||
#include "desktop/font.h"
|
||||
|
||||
bool haru_nsfont_apply_style(const plot_font_style_t *fstyle,
|
||||
|
@ -71,10 +71,10 @@
|
||||
#include "utils/errors.h"
|
||||
#include "netsurf/bitmap.h"
|
||||
#include "content/content.h"
|
||||
#include "netsurf/plotters.h"
|
||||
|
||||
#include "desktop/gui_internal.h"
|
||||
#include "desktop/knockout.h"
|
||||
#include "netsurf/plotters.h"
|
||||
|
||||
/* Define to enable knockout debug */
|
||||
#undef KNOCKOUT_DEBUG
|
||||
|
@ -30,7 +30,7 @@
|
||||
#ifndef _NETSURF_DESKTOP_OPTIONS_H_
|
||||
#define _NETSURF_DESKTOP_OPTIONS_H_
|
||||
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/types.h"
|
||||
|
||||
/* defines for system colour table */
|
||||
#define NSOPTION_SYS_COLOUR_START NSOPTION_sys_colour_ActiveBorder
|
||||
|
@ -16,14 +16,14 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file desktop/plot_style.c
|
||||
/**
|
||||
* \file
|
||||
* \brief Plotter global styles.
|
||||
*
|
||||
* These plot styles are globaly available and used in many places.
|
||||
*/
|
||||
|
||||
#include "netsurf/plotters.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
static plot_style_t plot_style_fill_white_static = {
|
||||
.fill_type = PLOT_OP_TYPE_SOLID,
|
||||
@ -152,15 +152,6 @@ static plot_style_t plot_style_stroke_lightwbasec_static = {
|
||||
};
|
||||
plot_style_t *plot_style_stroke_lightwbasec = &plot_style_stroke_lightwbasec_static;
|
||||
|
||||
/* history styles */
|
||||
|
||||
/** stroke style for history core. */
|
||||
static plot_style_t plot_style_stroke_history_static = {
|
||||
.stroke_type = PLOT_OP_TYPE_SOLID,
|
||||
.stroke_colour = HISTORY_COLOUR_LINES,
|
||||
.stroke_width = 2,
|
||||
};
|
||||
plot_style_t *plot_style_stroke_history = &plot_style_stroke_history_static;
|
||||
|
||||
/* Generic font style */
|
||||
static const plot_font_style_t plot_style_font_static = {
|
||||
|
@ -29,14 +29,12 @@
|
||||
#include "utils/messages.h"
|
||||
#include "utils/utils.h"
|
||||
#include "utils/nsoption.h"
|
||||
|
||||
#include "netsurf/browser_window.h"
|
||||
#include "desktop/system_colour.h"
|
||||
#include "netsurf/mouse.h"
|
||||
#include "desktop/scrollbar.h"
|
||||
#include "netsurf/plotters.h"
|
||||
#include "desktop/plot_style.h"
|
||||
|
||||
#include "desktop/system_colour.h"
|
||||
#include "desktop/scrollbar.h"
|
||||
|
||||
struct scrollbar {
|
||||
bool horizontal; /* Horizontal scrollbar if true, else vertical
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include <libcss/libcss.h>
|
||||
|
||||
#include "utils/errors.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/types.h"
|
||||
|
||||
/** css callback to obtain named system colours. */
|
||||
css_error ns_system_colour(void *pw, lwc_string *name, css_color *color);
|
||||
|
@ -28,8 +28,7 @@
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "utils/utils.h"
|
||||
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
#include "netsurf/mouse.h"
|
||||
|
||||
struct textarea;
|
||||
|
@ -44,7 +44,7 @@
|
||||
#include "utils/utf8.h"
|
||||
#include "netsurf/keypress.h"
|
||||
#include "netsurf/mouse.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include <proto/exec.h>
|
||||
#include <proto/intuition.h>
|
||||
|
@ -978,7 +978,7 @@ static struct Menu *ami_menu_layout_gt(struct ami_menu_data **md, int max)
|
||||
TextLength(rp, md[i]->menulab, strlen(md[i]->menulab)) -
|
||||
icon_width - space_width;
|
||||
|
||||
if((md[i]->menutype == NM_ITEM) && (md[i+1]->menutype == NM_SUB)) {
|
||||
if((md[i]->menutype == NM_ITEM) && md[i+1] && (md[i+1]->menutype == NM_SUB)) {
|
||||
left_posn -= menu_glyph_width[NSA_GLYPH_SUBMENU];
|
||||
|
||||
submenuarrow = NewObject(NULL, "sysiclass",
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include "utils/log.h"
|
||||
#include "utils/nsoption.h"
|
||||
#include "netsurf/mouse.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include "atari/gui.h"
|
||||
#include "atari/bitmap.h"
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include "utils/utf8.h"
|
||||
#include "utils/log.h"
|
||||
#include "netsurf/mouse.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include "atari/gui.h"
|
||||
#include "atari/bitmap.h"
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <mt_gem.h>
|
||||
|
||||
#include "netsurf/mouse.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include "atari/bitmap.h"
|
||||
#include "atari/plot/fontplot.h"
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include "utils/dirent.h"
|
||||
#include "utils/nsoption.h"
|
||||
#include "utils/log.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include "atari/gui.h"
|
||||
#include "atari/res/netsurf.rsh"
|
||||
|
@ -35,7 +35,6 @@
|
||||
#include "netsurf/mouse.h"
|
||||
#include "netsurf/plotters.h"
|
||||
#include "netsurf/keypress.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "desktop/browser_history.h"
|
||||
#include "desktop/hotlist.h"
|
||||
#include "desktop/textarea.h"
|
||||
|
@ -24,7 +24,7 @@
|
||||
#ifndef NS_BEOS_FONT_H
|
||||
#define NS_BEOS_FONT_H
|
||||
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
bool nsfont_paint(const plot_font_style_t *fstyle,
|
||||
const char *string, size_t length,
|
||||
|
@ -19,7 +19,7 @@
|
||||
#ifndef COCOA_FONT_H
|
||||
#define COCOA_FONT_H
|
||||
|
||||
#import "desktop/plot_style.h"
|
||||
#import "netsurf/plot_style.h"
|
||||
|
||||
void cocoa_draw_string( CGFloat x, CGFloat y, const char *bytes, size_t length, const struct plot_font_style *style );
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
#define COCOA_PLOTTER_H
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "desktop/plot_style.h"
|
||||
#import "netsurf/plot_style.h"
|
||||
|
||||
extern const struct plotter_table cocoa_plotters;
|
||||
|
||||
|
@ -22,7 +22,6 @@
|
||||
#import "utils/utils.h"
|
||||
#import "netsurf/browser_window.h"
|
||||
#import "netsurf/plotters.h"
|
||||
#import "desktop/plot_style.h"
|
||||
|
||||
#import "cocoa/font.h"
|
||||
#import "cocoa/coordinates.h"
|
||||
|
@ -262,7 +262,7 @@ main(int argc, char **argv)
|
||||
fprintf(f, "#include <stdint.h>\n\n");
|
||||
fprintf(f, "#include <stdbool.h>\n\n");
|
||||
fprintf(f, "#include <libnsfb.h>\n\n");
|
||||
fprintf(f, "#include \"desktop/plot_style.h\"\n");
|
||||
fprintf(f, "#include \"netsurf/plot_style.h\"\n");
|
||||
fprintf(f, "#include \"framebuffer/gui.h\"\n");
|
||||
fprintf(f, "#include \"framebuffer/fbtk.h\"\n\n");
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
#ifndef NETSURF_FB_FBTK_H
|
||||
#define NETSURF_FB_FBTK_H
|
||||
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/types.h"
|
||||
|
||||
#ifdef FBTK_LOGGING
|
||||
#define FBTK_LOG(x) LOG(x)
|
||||
|
@ -22,7 +22,6 @@
|
||||
#include <stdbool.h>
|
||||
#include <libnsfb.h>
|
||||
|
||||
#include "desktop/plot_style.h"
|
||||
#include "framebuffer/gui.h"
|
||||
#include "framebuffer/fbtk.h"
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "netsurf/utf8.h"
|
||||
#include "netsurf/layout.h"
|
||||
#include "netsurf/browser_window.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include "framebuffer/gui.h"
|
||||
#include "framebuffer/font.h"
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "utils/utf8.h"
|
||||
#include "netsurf/utf8.h"
|
||||
#include "netsurf/layout.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include "framebuffer/gui.h"
|
||||
#include "framebuffer/font.h"
|
||||
|
@ -42,9 +42,9 @@
|
||||
#include "utils/utils.h"
|
||||
#include "utils/messages.h"
|
||||
#include "utils/utf8.h"
|
||||
#include "netsurf/types.h"
|
||||
#include "netsurf/keypress.h"
|
||||
#include "netsurf/mouse.h"
|
||||
#include "desktop/plot_style.h"
|
||||
|
||||
#include "gtk/compat.h"
|
||||
#include "gtk/gui.h" /* just for gtk_gui_gdkkey_to_nskey */
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "utils/log.h"
|
||||
#include "utils/nsoption.h"
|
||||
#include "netsurf/layout.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include "gtk/layout_pango.h"
|
||||
#include "gtk/plotters.h"
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <stddef.h>
|
||||
|
||||
#include "utils/utf8.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
#include "netsurf/layout.h"
|
||||
|
||||
#include "monkey/layout.h"
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
#include "utils/nsoption.h"
|
||||
#include "utils/messages.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include "riscos/gui.h"
|
||||
#include "riscos/font.h"
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include "utils/messages.h"
|
||||
#include "utils/utils.h"
|
||||
#include "netsurf/layout.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include "riscos/gui.h"
|
||||
#include "riscos/font.h"
|
||||
|
@ -25,6 +25,7 @@
|
||||
|
||||
#include <rufl.h>
|
||||
|
||||
struct plot_font_style;
|
||||
struct gui_layout_table *riscos_layout_table;
|
||||
|
||||
/** desktop font, size and style being used */
|
||||
@ -35,9 +36,9 @@ extern rufl_style ro_gui_desktop_font_style;
|
||||
void nsfont_init(void);
|
||||
bool nsfont_exists(const char *font_family);
|
||||
const char *nsfont_fallback_font(void);
|
||||
bool nsfont_paint(const plot_font_style_t *fstyle, const char *string,
|
||||
bool nsfont_paint(const struct plot_font_style *fstyle, const char *string,
|
||||
size_t length, int x, int y);
|
||||
void nsfont_read_style(const plot_font_style_t *fstyle,
|
||||
void nsfont_read_style(const struct plot_font_style *fstyle,
|
||||
const char **font_family, unsigned int *font_size,
|
||||
rufl_style *font_style);
|
||||
void ro_gui_wimp_get_desktop_font(void);
|
||||
|
@ -20,7 +20,7 @@
|
||||
#define _NETSURF_RISCOS_IMAGE_H_
|
||||
|
||||
#include <stdbool.h>
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/types.h"
|
||||
#include "oslib/osspriteop.h"
|
||||
|
||||
struct osspriteop_area;
|
||||
|
@ -2542,7 +2542,7 @@ wimp_window {
|
||||
xscroll:0
|
||||
yscroll:0
|
||||
next:wimp_TOP
|
||||
window_flags:wimp_WINDOW_MOVEABLE | wimp_WINDOW_SCROLL_REPEAT | wimp_WINDOW_IGNORE_XEXTENT | wimp_WINDOW_IGNORE_YEXTENT | wimp_WINDOW_BACK_ICON | wimp_WINDOW_CLOSE_ICON | wimp_WINDOW_TITLE_ICON | wimp_WINDOW_TOGGLE_ICON | wimp_WINDOW_VSCROLL | wimp_WINDOW_SIZE_ICON | wimp_WINDOW_HSCROLL | wimp_WINDOW_NEW_FORMAT
|
||||
window_flags:wimp_WINDOW_MOVEABLE | wimp_WINDOW_SCROLL_REPEAT | wimp_WINDOW_IGNORE_XEXTENT | wimp_WINDOW_IGNORE_YEXTENT | wimp_WINDOW_BACK_ICON | wimp_WINDOW_CLOSE_ICON | wimp_WINDOW_TITLE_ICON | wimp_WINDOW_TOGGLE_ICON | wimp_WINDOW_VSCROLL | wimp_WINDOW_SIZE_ICON | wimp_WINDOW_HSCROLL | wimp_WINDOW_NEW_FORMAT | wimp_WINDOW_NO_BOUNDS
|
||||
title_fg:wimp_COLOUR_BLACK
|
||||
title_bg:wimp_COLOUR_LIGHT_GREY
|
||||
work_fg:wimp_COLOUR_BLACK
|
||||
|
@ -2750,7 +2750,7 @@ wimp_window {
|
||||
xscroll:0
|
||||
yscroll:0
|
||||
next:wimp_TOP
|
||||
window_flags:wimp_WINDOW_MOVEABLE | wimp_WINDOW_SCROLL_REPEAT | wimp_WINDOW_IGNORE_XEXTENT | wimp_WINDOW_IGNORE_YEXTENT | wimp_WINDOW_BOUNDED_ONCE | wimp_WINDOW_BACK_ICON | wimp_WINDOW_CLOSE_ICON | wimp_WINDOW_TITLE_ICON | wimp_WINDOW_TOGGLE_ICON | wimp_WINDOW_VSCROLL | wimp_WINDOW_SIZE_ICON | wimp_WINDOW_HSCROLL | wimp_WINDOW_NEW_FORMAT
|
||||
window_flags:wimp_WINDOW_MOVEABLE | wimp_WINDOW_SCROLL_REPEAT | wimp_WINDOW_IGNORE_XEXTENT | wimp_WINDOW_IGNORE_YEXTENT | wimp_WINDOW_BOUNDED_ONCE | wimp_WINDOW_BACK_ICON | wimp_WINDOW_CLOSE_ICON | wimp_WINDOW_TITLE_ICON | wimp_WINDOW_TOGGLE_ICON | wimp_WINDOW_VSCROLL | wimp_WINDOW_SIZE_ICON | wimp_WINDOW_HSCROLL | wimp_WINDOW_NEW_FORMAT | wimp_WINDOW_NO_BOUNDS
|
||||
title_fg:wimp_COLOUR_BLACK
|
||||
title_bg:wimp_COLOUR_LIGHT_GREY
|
||||
work_fg:wimp_COLOUR_BLACK
|
||||
|
@ -2554,7 +2554,7 @@ wimp_window {
|
||||
xscroll:0
|
||||
yscroll:0
|
||||
next:wimp_TOP
|
||||
window_flags:wimp_WINDOW_MOVEABLE | wimp_WINDOW_SCROLL_REPEAT | wimp_WINDOW_IGNORE_XEXTENT | wimp_WINDOW_IGNORE_YEXTENT | wimp_WINDOW_BOUNDED_ONCE | wimp_WINDOW_BACK_ICON | wimp_WINDOW_CLOSE_ICON | wimp_WINDOW_TITLE_ICON | wimp_WINDOW_TOGGLE_ICON | wimp_WINDOW_VSCROLL | wimp_WINDOW_SIZE_ICON | wimp_WINDOW_HSCROLL | wimp_WINDOW_NEW_FORMAT
|
||||
window_flags:wimp_WINDOW_MOVEABLE | wimp_WINDOW_SCROLL_REPEAT | wimp_WINDOW_IGNORE_XEXTENT | wimp_WINDOW_IGNORE_YEXTENT | wimp_WINDOW_BOUNDED_ONCE | wimp_WINDOW_BACK_ICON | wimp_WINDOW_CLOSE_ICON | wimp_WINDOW_TITLE_ICON | wimp_WINDOW_TOGGLE_ICON | wimp_WINDOW_VSCROLL | wimp_WINDOW_SIZE_ICON | wimp_WINDOW_HSCROLL | wimp_WINDOW_NEW_FORMAT | wimp_WINDOW_NO_BOUNDS
|
||||
title_fg:wimp_COLOUR_BLACK
|
||||
title_bg:wimp_COLOUR_LIGHT_GREY
|
||||
work_fg:wimp_COLOUR_BLACK
|
||||
|
@ -2796,7 +2796,7 @@ wimp_window {
|
||||
xscroll:0
|
||||
yscroll:0
|
||||
next:wimp_TOP
|
||||
window_flags:wimp_WINDOW_MOVEABLE | wimp_WINDOW_SCROLL_REPEAT | wimp_WINDOW_IGNORE_XEXTENT | wimp_WINDOW_IGNORE_YEXTENT | wimp_WINDOW_BOUNDED_ONCE | wimp_WINDOW_BACK_ICON | wimp_WINDOW_CLOSE_ICON | wimp_WINDOW_TITLE_ICON | wimp_WINDOW_TOGGLE_ICON | wimp_WINDOW_VSCROLL | wimp_WINDOW_SIZE_ICON | wimp_WINDOW_HSCROLL | wimp_WINDOW_NEW_FORMAT
|
||||
window_flags:wimp_WINDOW_MOVEABLE | wimp_WINDOW_SCROLL_REPEAT | wimp_WINDOW_IGNORE_XEXTENT | wimp_WINDOW_IGNORE_YEXTENT | wimp_WINDOW_BOUNDED_ONCE | wimp_WINDOW_BACK_ICON | wimp_WINDOW_CLOSE_ICON | wimp_WINDOW_TITLE_ICON | wimp_WINDOW_TOGGLE_ICON | wimp_WINDOW_VSCROLL | wimp_WINDOW_SIZE_ICON | wimp_WINDOW_HSCROLL | wimp_WINDOW_NEW_FORMAT | wimp_WINDOW_NO_BOUNDS
|
||||
title_fg:wimp_COLOUR_BLACK
|
||||
title_bg:wimp_COLOUR_LIGHT_GREY
|
||||
work_fg:wimp_COLOUR_BLACK
|
||||
|
@ -43,7 +43,6 @@
|
||||
#include "utils/utf8.h"
|
||||
#include "netsurf/keypress.h"
|
||||
#include "netsurf/mouse.h"
|
||||
#include "desktop/plot_style.h"
|
||||
|
||||
#include "windows/windbg.h"
|
||||
#include "windows/corewindow.h"
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "utils/utf8.h"
|
||||
#include "netsurf/layout.h"
|
||||
#include "netsurf/utf8.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
#include "windows/font.h"
|
||||
|
||||
|
@ -25,6 +25,8 @@
|
||||
#ifndef NETSURF_WINDOWS_FONT_H
|
||||
#define NETSURF_WINDOWS_FONT_H
|
||||
|
||||
struct plot_font_style;
|
||||
|
||||
extern HWND font_hwnd;
|
||||
|
||||
struct font_desc {
|
||||
@ -47,7 +49,7 @@ extern nserror utf8_to_font_encoding(const struct font_desc* font,
|
||||
* \param style The font style.
|
||||
* \return The win32 font handle
|
||||
*/
|
||||
HFONT get_font(const plot_font_style_t *style);
|
||||
HFONT get_font(const struct plot_font_style *style);
|
||||
|
||||
#endif /* NETSURF_WINDOWS_FONT_H */
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include <stddef.h>
|
||||
|
||||
#include "utils/errors.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
typedef struct nsnsclipboard_styles {
|
||||
size_t start; /**< Start of run */
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
#include <libwapcaplet/libwapcaplet.h>
|
||||
|
||||
#include "desktop/plot_style.h" /* color typedef */
|
||||
#include "netsurf/types.h"
|
||||
#include "netsurf/content_type.h"
|
||||
|
||||
struct bitmap;
|
||||
|
@ -16,19 +16,88 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/** \file
|
||||
* Plotter styles.
|
||||
/**
|
||||
* \file
|
||||
* plotter style interfaces, generic styles and style colour helpers.
|
||||
*/
|
||||
|
||||
#ifndef _NETSURF_DESKTOP_PLOT_STYLE_H_
|
||||
#define _NETSURF_DESKTOP_PLOT_STYLE_H_
|
||||
#ifndef NETSURF_PLOT_STYLE_H
|
||||
#define NETSURF_PLOT_STYLE_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "netsurf/types.h"
|
||||
|
||||
/* html widget colours */
|
||||
/** light grey widget base colour */
|
||||
#define WIDGET_BASEC 0xd9d9d9
|
||||
|
||||
/** black blob colour */
|
||||
#define WIDGET_BLOBC 0x000000
|
||||
|
||||
/** Transparent colour value. */
|
||||
#define NS_TRANSPARENT 0x01000000
|
||||
|
||||
/** Scaling factor for font sizes */
|
||||
#define FONT_SIZE_SCALE 1024
|
||||
|
||||
/**
|
||||
* Type of plot operation
|
||||
*/
|
||||
typedef enum {
|
||||
PLOT_OP_TYPE_NONE = 0, /**< No operation */
|
||||
PLOT_OP_TYPE_SOLID, /**< Solid colour */
|
||||
PLOT_OP_TYPE_DOT, /**< Dotted plot */
|
||||
PLOT_OP_TYPE_DASH, /**< Dashed plot */
|
||||
} plot_operation_type_t;
|
||||
|
||||
|
||||
/**
|
||||
* Plot style for stroke/fill plotters
|
||||
*/
|
||||
typedef struct plot_style_s {
|
||||
plot_operation_type_t stroke_type; /**< Stroke plot type */
|
||||
int stroke_width; /**< Width of stroke, in pixels */
|
||||
colour stroke_colour; /**< Colour of stroke */
|
||||
plot_operation_type_t fill_type; /**< Fill plot type */
|
||||
colour fill_colour; /**< Colour of fill */
|
||||
} plot_style_t;
|
||||
|
||||
|
||||
/**
|
||||
* Generic font family type
|
||||
*/
|
||||
typedef enum {
|
||||
PLOT_FONT_FAMILY_SANS_SERIF = 0,
|
||||
PLOT_FONT_FAMILY_SERIF,
|
||||
PLOT_FONT_FAMILY_MONOSPACE,
|
||||
PLOT_FONT_FAMILY_CURSIVE,
|
||||
PLOT_FONT_FAMILY_FANTASY,
|
||||
PLOT_FONT_FAMILY_COUNT /**< Number of generic families */
|
||||
} plot_font_generic_family_t;
|
||||
|
||||
|
||||
/**
|
||||
* Font plot flags
|
||||
*/
|
||||
typedef enum {
|
||||
FONTF_NONE = 0,
|
||||
FONTF_ITALIC = 1,
|
||||
FONTF_OBLIQUE = 2,
|
||||
FONTF_SMALLCAPS = 4,
|
||||
} plot_font_flags_t;
|
||||
|
||||
/**
|
||||
* Font style for plotting
|
||||
*/
|
||||
typedef struct plot_font_style {
|
||||
plot_font_generic_family_t family; /**< Generic family to plot with */
|
||||
int size; /**< Font size, in points * FONT_SIZE_SCALE */
|
||||
int weight; /**< Font weight: value in range [100,900] as per CSS */
|
||||
plot_font_flags_t flags; /**< Font flags */
|
||||
colour background; /**< Background colour to blend to, if appropriate */
|
||||
colour foreground; /**< Colour of text */
|
||||
} plot_font_style_t;
|
||||
|
||||
|
||||
/* Darken a colour by taking three quarters of each channel's intensity */
|
||||
#define darken_colour(c1) \
|
||||
((((3 * (c1 & 0xff00ff)) >> 2) & 0xff00ff) | \
|
||||
@ -90,85 +159,19 @@
|
||||
#define blue_from_colour(c) \
|
||||
((c >> 16) & 0xff)
|
||||
|
||||
/**
|
||||
* Colour type: XBGR
|
||||
*/
|
||||
typedef uint32_t colour;
|
||||
|
||||
/**
|
||||
* Magical transparent value
|
||||
*/
|
||||
#define NS_TRANSPARENT 0x01000000
|
||||
|
||||
/**
|
||||
* Type of plot operation
|
||||
*/
|
||||
typedef enum {
|
||||
PLOT_OP_TYPE_NONE = 0, /**< No operation */
|
||||
PLOT_OP_TYPE_SOLID, /**< Solid colour */
|
||||
PLOT_OP_TYPE_DOT, /**< Dotted plot */
|
||||
PLOT_OP_TYPE_DASH, /**< Dashed plot */
|
||||
} plot_operation_type_t;
|
||||
|
||||
/**
|
||||
* Plot style for stroke/fill plotters
|
||||
*/
|
||||
typedef struct plot_style_s {
|
||||
plot_operation_type_t stroke_type; /**< Stroke plot type */
|
||||
int stroke_width; /**< Width of stroke, in pixels */
|
||||
colour stroke_colour; /**< Colour of stroke */
|
||||
plot_operation_type_t fill_type; /**< Fill plot type */
|
||||
colour fill_colour; /**< Colour of fill */
|
||||
} plot_style_t;
|
||||
|
||||
/**
|
||||
* Generic font family type
|
||||
*/
|
||||
typedef enum {
|
||||
PLOT_FONT_FAMILY_SANS_SERIF = 0,
|
||||
PLOT_FONT_FAMILY_SERIF,
|
||||
PLOT_FONT_FAMILY_MONOSPACE,
|
||||
PLOT_FONT_FAMILY_CURSIVE,
|
||||
PLOT_FONT_FAMILY_FANTASY,
|
||||
PLOT_FONT_FAMILY_COUNT /**< Number of generic families */
|
||||
} plot_font_generic_family_t;
|
||||
|
||||
/**
|
||||
* Font plot flags
|
||||
*/
|
||||
typedef unsigned long plot_font_flags_t;
|
||||
#define FONTF_NONE 0
|
||||
#define FONTF_ITALIC 1
|
||||
#define FONTF_OBLIQUE 2
|
||||
#define FONTF_SMALLCAPS 4
|
||||
|
||||
/**
|
||||
* Scaling factor for font sizes
|
||||
*/
|
||||
#define FONT_SIZE_SCALE 1024
|
||||
|
||||
/**
|
||||
* Font style for plotting
|
||||
*/
|
||||
typedef struct plot_font_style {
|
||||
plot_font_generic_family_t family; /**< Generic family to plot with */
|
||||
int size; /**< Font size, in points * FONT_SIZE_SCALE */
|
||||
int weight; /**< Font weight: value in range [100,900] as per CSS */
|
||||
plot_font_flags_t flags; /**< Font flags */
|
||||
colour background; /**< Background colour to blend to, if appropriate */
|
||||
colour foreground; /**< Colour of text */
|
||||
} plot_font_style_t;
|
||||
|
||||
/* global fill styles */
|
||||
extern plot_style_t *plot_style_fill_white;
|
||||
extern plot_style_t *plot_style_fill_red;
|
||||
extern plot_style_t *plot_style_fill_black;
|
||||
|
||||
|
||||
/* Box model debug outline styles for content, padding and margin edges */
|
||||
extern plot_style_t const * const plot_style_content_edge;
|
||||
extern plot_style_t const * const plot_style_padding_edge;
|
||||
extern plot_style_t const * const plot_style_margin_edge;
|
||||
|
||||
|
||||
/* Broken object replacement styles */
|
||||
extern plot_style_t const * const plot_style_broken_object;
|
||||
extern plot_font_style_t const * const plot_fstyle_broken_object;
|
||||
@ -176,7 +179,6 @@ extern plot_font_style_t const * const plot_fstyle_broken_object;
|
||||
|
||||
/* other styles */
|
||||
extern plot_style_t *plot_style_caret;
|
||||
extern plot_style_t *plot_style_stroke_history;
|
||||
extern plot_style_t *plot_style_fill_wbasec;
|
||||
extern plot_style_t *plot_style_fill_darkwbasec;
|
||||
extern plot_style_t *plot_style_fill_lightwbasec;
|
||||
@ -185,23 +187,9 @@ extern plot_style_t *plot_style_stroke_wblobc;
|
||||
extern plot_style_t *plot_style_stroke_darkwbasec;
|
||||
extern plot_style_t *plot_style_stroke_lightwbasec;
|
||||
|
||||
|
||||
/* Default font style */
|
||||
extern plot_font_style_t const * const plot_style_font;
|
||||
|
||||
#ifndef HISTORY_COLOUR_SELECTED
|
||||
#define HISTORY_COLOUR_SELECTED 0xFF0000
|
||||
#endif
|
||||
|
||||
#ifndef HISTORY_COLOUR_FOREGROUND
|
||||
#define HISTORY_COLOUR_FOREGROUND 0x333333
|
||||
#endif
|
||||
|
||||
#ifndef HISTORY_COLOUR_BACKGROUND
|
||||
#define HISTORY_COLOUR_BACKGROUND 0xFFFFFF
|
||||
#endif
|
||||
|
||||
#ifndef HISTORY_COLOUR_LINES
|
||||
#define HISTORY_COLOUR_LINES HISTORY_COLOUR_FOREGROUND
|
||||
#endif
|
||||
|
||||
#endif
|
@ -27,7 +27,7 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
|
||||
struct bitmap;
|
||||
struct rect;
|
||||
|
37
include/netsurf/types.h
Normal file
37
include/netsurf/types.h
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright 2017 Vincent Sanders <vince@netsurf-browser.org>
|
||||
*
|
||||
* This file is part of NetSurf, http://www.netsurf-browser.org/
|
||||
*
|
||||
* NetSurf is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* NetSurf is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
*
|
||||
* NetSurf types.
|
||||
*
|
||||
* These are convenience types used throughout the browser.
|
||||
*/
|
||||
|
||||
#ifndef NETSURF_TYPES_H
|
||||
#define NETSURF_TYPES_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/**
|
||||
* Colour type: XBGR
|
||||
*/
|
||||
typedef uint32_t colour;
|
||||
|
||||
#endif
|
@ -41,11 +41,12 @@
|
||||
#include "utils/utils.h"
|
||||
#include "utils/string.h"
|
||||
#include "utils/ascii.h"
|
||||
#include "netsurf/css.h"
|
||||
#include "netsurf/misc.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
#include "content/content_protected.h"
|
||||
#include "css/hints.h"
|
||||
#include "css/select.h"
|
||||
#include "netsurf/css.h"
|
||||
#include "netsurf/misc.h"
|
||||
#include "desktop/gui_internal.h"
|
||||
|
||||
#include "render/box.h"
|
||||
|
@ -23,6 +23,7 @@
|
||||
*/
|
||||
|
||||
#include "utils/nsoption.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
#include "css/utils.h"
|
||||
|
||||
#include "render/font.h"
|
||||
|
@ -27,6 +27,8 @@
|
||||
#ifndef _NETSURF_RENDER_FONT_H_
|
||||
#define _NETSURF_RENDER_FONT_H_
|
||||
|
||||
struct plot_font_style;
|
||||
|
||||
/**
|
||||
* Populate a font style using data from a computed CSS style
|
||||
*
|
||||
@ -34,6 +36,6 @@
|
||||
* \param fstyle Font style to populate
|
||||
*/
|
||||
void font_plot_style_from_css(const css_computed_style *css,
|
||||
plot_font_style_t *fstyle);
|
||||
struct plot_font_style *fstyle);
|
||||
|
||||
#endif
|
||||
|
@ -40,17 +40,16 @@
|
||||
#include "utils/utf8.h"
|
||||
#include "utils/utils.h"
|
||||
#include "utils/ascii.h"
|
||||
#include "netsurf/browser_window.h"
|
||||
#include "netsurf/mouse.h"
|
||||
#include "netsurf/plotters.h"
|
||||
#include "netsurf/misc.h"
|
||||
#include "content/fetch.h"
|
||||
#include "content/hlcache.h"
|
||||
#include "css/utils.h"
|
||||
#include "netsurf/browser_window.h"
|
||||
#include "netsurf/mouse.h"
|
||||
#include "desktop/knockout.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plotters.h"
|
||||
#include "desktop/scrollbar.h"
|
||||
#include "desktop/textarea.h"
|
||||
#include "netsurf/misc.h"
|
||||
#include "desktop/gui_internal.h"
|
||||
|
||||
#include "render/box.h"
|
||||
|
@ -30,10 +30,10 @@
|
||||
#include <dom/dom.h>
|
||||
#include <dom/bindings/hubbub/parser.h>
|
||||
|
||||
#include "netsurf/types.h"
|
||||
#include "netsurf/content_type.h"
|
||||
#include "netsurf/browser_window.h"
|
||||
#include "netsurf/mouse.h"
|
||||
#include "desktop/plot_style.h"
|
||||
#include "desktop/frame_types.h"
|
||||
|
||||
struct fetch_multipart_data;
|
||||
@ -52,6 +52,7 @@ struct scrollbar_msg_data;
|
||||
struct search_context;
|
||||
struct selection;
|
||||
struct nsurl;
|
||||
struct plot_font_style;
|
||||
|
||||
/**
|
||||
* Container for stylesheets used by an HTML document
|
||||
@ -158,7 +159,7 @@ void html_overflow_scroll_drag_end(struct scrollbar *scrollbar,
|
||||
|
||||
bool text_redraw(const char *utf8_text, size_t utf8_len,
|
||||
size_t offset, int space,
|
||||
const plot_font_style_t *fstyle,
|
||||
const struct plot_font_style *fstyle,
|
||||
int x, int y,
|
||||
const struct rect *clip,
|
||||
int height,
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include <string.h>
|
||||
#include <strings.h>
|
||||
|
||||
#include "desktop/plot_style.h"
|
||||
#include "netsurf/plot_style.h"
|
||||
#include "utils/errors.h"
|
||||
#include "utils/log.h"
|
||||
#include "utils/utils.h"
|
||||
|
Loading…
Reference in New Issue
Block a user