summaryrefslogtreecommitdiff
path: root/debug
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2003-06-21 13:18:00 +0000
committerJames Bursa <james@netsurf-browser.org>2003-06-21 13:18:00 +0000
commit94073c9bf642727d41a50c278d03a2b2f4af60ee (patch)
tree18395e80cb5f3984844f88819354d9ed5064794c /debug
parent0c0ff3c59631d0968c888279195ea40d4a7fd824 (diff)
downloadnetsurf-94073c9bf642727d41a50c278d03a2b2f4af60ee.tar.gz
netsurf-94073c9bf642727d41a50c278d03a2b2f4af60ee.tar.bz2
[project @ 2003-06-21 13:18:00 by bursa]
Add debug command line build. svn path=/import/netsurf/; revision=181
Diffstat (limited to 'debug')
-rw-r--r--debug/filetyped.c21
-rw-r--r--debug/fontd.c147
-rw-r--r--debug/fontd.h45
-rw-r--r--debug/netsurfd.c63
-rw-r--r--debug/optionsd.c25
5 files changed, 301 insertions, 0 deletions
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 <stdlib.h>
+#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 <assert.h>
+#include <stdio.h>
+#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 <string.h>
+#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 <stdio.h>
+#include <string.h>
+#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");
+}
+