From 94073c9bf642727d41a50c278d03a2b2f4af60ee Mon Sep 17 00:00:00 2001 From: James Bursa Date: Sat, 21 Jun 2003 13:18:00 +0000 Subject: [project @ 2003-06-21 13:18:00 by bursa] Add debug command line build. svn path=/import/netsurf/; revision=181 --- debug/filetyped.c | 21 ++++++++ debug/fontd.c | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ debug/fontd.h | 45 +++++++++++++++++ debug/netsurfd.c | 63 +++++++++++++++++++++++ debug/optionsd.c | 25 ++++++++++ 5 files changed, 301 insertions(+) create mode 100644 debug/filetyped.c create mode 100644 debug/fontd.c create mode 100644 debug/fontd.h create mode 100644 debug/netsurfd.c create mode 100644 debug/optionsd.c (limited to 'debug') diff --git a/debug/filetyped.c b/debug/filetyped.c new file mode 100644 index 000000000..853e1e57e --- /dev/null +++ b/debug/filetyped.c @@ -0,0 +1,21 @@ +/** + * $Id: filetyped.c,v 1.1 2003/06/21 13:18:00 bursa Exp $ + */ + +#include +#include "netsurf/content/fetch.h" +#include "netsurf/utils/log.h" +#include "netsurf/utils/utils.h" + +/** + * filetype -- determine the MIME type of a local file + */ + +const char *fetch_filetype(const char *unix_path) +{ + LOG(("unix path %s", unix_path)); + if (strcasecmp(unix_path, "home/james/Projects/netsurf/CSS") == 0) + return "text/css"; + return "text/html"; +} + diff --git a/debug/fontd.c b/debug/fontd.c new file mode 100644 index 000000000..44440a930 --- /dev/null +++ b/debug/fontd.c @@ -0,0 +1,147 @@ +/** + * $Id: fontd.c,v 1.1 2003/06/21 13:18:00 bursa Exp $ + */ + +#include +#include +#include "netsurf/css/css.h" +#include "netsurf/debug/fontd.h" +#include "netsurf/utils/utils.h" +#include "netsurf/utils/log.h" + +/** + * font id = font family * 4 + bold * 2 + slanted + * font family: 0 = sans-serif, 1 = serif, ... + */ + +const char * const font_table[FONT_FAMILIES * 4] = { + /* sans-serif */ + "Homerton.Medium\\ELatin1", + "Homerton.Medium.Oblique\\ELatin1", + "Homerton.Bold\\ELatin1", + "Homerton.Bold.Oblique\\ELatin1", +}; + +static void font_close(struct font_data *data); + +/** + * functions + */ + +unsigned long font_width(struct font_data *font, const char * text, unsigned int length) +{ + int width; + + assert(font != 0 && text != 0); + + if (length == 0) + return 0; + + return length * 10; +} + +void font_position_in_string(const char* text, struct font_data* font, + unsigned int length, unsigned long x, int* char_offset, int* pixel_offset) +{ + assert(font != 0 && text != 0); + + *char_offset = x / 10; + *pixel_offset = x; + + return; +} + + +struct font_set *font_new_set() +{ + struct font_set *set = xcalloc(1, sizeof(*set)); + unsigned int i; + + for (i = 0; i < FONT_FAMILIES * 4; i++) + set->font[i] = 0; + + return set; +} + + +struct font_data *font_open(struct font_set *set, struct css_style *style) +{ + struct font_data *data; + unsigned int size = 16 * 11; + unsigned int f = 0; + + assert(set != 0); + + if (style->font_size.size == CSS_FONT_SIZE_LENGTH) + size = style->font_size.value.length.value * 16; + + switch (style->font_weight) { + case CSS_FONT_WEIGHT_BOLD: + case CSS_FONT_WEIGHT_600: + case CSS_FONT_WEIGHT_700: + case CSS_FONT_WEIGHT_800: + case CSS_FONT_WEIGHT_900: + f += FONT_BOLD; + break; + default: + break; + } + + switch (style->font_style) { + case CSS_FONT_STYLE_ITALIC: + case CSS_FONT_STYLE_OBLIQUE: + f += FONT_SLANTED; + break; + default: + break; + } + + for (data = set->font[f]; data != 0; data = data->next) + if (data->size == size) + return data; + + data = xcalloc(1, sizeof(*data)); + + data->size = size; + data->space_width = font_width(data, " ", 1); + + data->next = set->font[f]; + set->font[f] = data; + + return data; +} + + +void font_free_set(struct font_set *set) +{ + unsigned int i; + struct font_data *data, *next; + + assert(set != 0); + + for (i = 0; i < FONT_FAMILIES * 4; i++) { + for (data = set->font[i]; data != 0; data = next) { + next = data->next; + font_close(data); + } + } + + free(set); +} + + +void font_close(struct font_data *data) +{ + + free(data); +} + + +char * font_split(struct font_data *data, const char * text, unsigned int length, + unsigned int width, unsigned int *used_width) +{ + *used_width = width; + + return text + (width / 10); +} + diff --git a/debug/fontd.h b/debug/fontd.h new file mode 100644 index 000000000..e63af6de6 --- /dev/null +++ b/debug/fontd.h @@ -0,0 +1,45 @@ +/** + * $Id: fontd.h,v 1.1 2003/06/21 13:18:00 bursa Exp $ + */ + +#ifndef _NETSURF_RISCOS_FONT_H_ +#define _NETSURF_RISCOS_FONT_H_ + +/** + * structures and typedefs + */ + +#include "netsurf/css/css.h" + +typedef unsigned int font_id; + +#define FONT_FAMILIES 1 +#define FONT_BOLD 2 +#define FONT_SLANTED 1 + +/* a font_set is just a linked list of font_data for each face for now */ +struct font_set { + struct font_data *font[FONT_FAMILIES * 4]; +}; + +struct font_data { + unsigned int size; + unsigned int space_width; + struct font_data *next; +}; + +/** + * interface + */ + +unsigned long font_width(struct font_data *font, const char * text, unsigned int length); +void font_position_in_string(const char* text, struct font_data *font, + unsigned int length, unsigned long x, int* char_offset, int* pixel_offset); + +struct font_set *font_new_set(void); +struct font_data *font_open(struct font_set *set, struct css_style *style); +void font_free_set(struct font_set *set); +char * font_split(struct font_data *data, const char * text, unsigned int length, + unsigned int width, unsigned int *used_width); + +#endif diff --git a/debug/netsurfd.c b/debug/netsurfd.c new file mode 100644 index 000000000..81a494ff0 --- /dev/null +++ b/debug/netsurfd.c @@ -0,0 +1,63 @@ +#include +#include "netsurf/content/fetch.h" +#include "netsurf/content/cache.h" +#include "netsurf/content/content.h" +#include "netsurf/content/fetchcache.h" +#include "netsurf/utils/log.h" + +int done; + +void callback(content_msg msg, struct content *c, void *p1, + void *p2, const char *error) +{ + LOG(("content %s, message %i", c->url, msg)); + if (msg == CONTENT_MSG_DONE || msg == CONTENT_MSG_ERROR) + done = 1; + else if (msg == CONTENT_MSG_STATUS) + printf("=== STATUS: %s", c->status_message); +} + +int main(int argc, char *argv[]) +{ + char url[1000]; + struct content *c; + + fetch_init(); + cache_init(); + + while (1) { + puts("=== URL:"); + gets(url); + c = fetchcache(url, 0, callback, 0, 0, 100, 1000); + done = c->status == CONTENT_STATUS_DONE; + while (!done) + fetch_poll(); + puts("=== SUCCESS, dumping cache"); + cache_dump(); + } + + cache_quit(); + fetch_quit(); + + return 0; +} + +void gui_multitask(void) +{ + LOG(("-")); +} + +int stricmp(char *s0, char *s1) +{ + return strcasecmp(s0, s1); +} + +void gui_remove_gadget(void *p) +{ +} + +void plugin_decode(void *a, void *b, void *c, void *d) +{ +} + + diff --git a/debug/optionsd.c b/debug/optionsd.c new file mode 100644 index 000000000..493218cb6 --- /dev/null +++ b/debug/optionsd.c @@ -0,0 +1,25 @@ +/** + * $Id: optionsd.c,v 1.1 2003/06/21 13:18:00 bursa Exp $ + */ + +#include "netsurf/desktop/options.h" +#include +#include +#include "netsurf/utils/log.h" +#include "netsurf/utils/utils.h" + +struct options OPTIONS; + +void options_init(struct options* opt) +{ + opt->http = 0; + opt->http_proxy = strdup(""); + opt->http_port = 8080; + opt->use_mouse_gestures = 0; + opt->allow_text_selection = 1; + opt->use_riscos_elements = 1; + opt->show_toolbar = 1; + opt->show_print_preview = 0; + opt->theme = strdup("Default"); +} + -- cgit v1.2.3