Initial Amiga port files, mostly empty stub functions.

svn path=/trunk/netsurf/; revision=4864
This commit is contained in:
Chris Young 2008-08-02 14:31:32 +00:00
parent a011abf55f
commit 26203b2215
18 changed files with 1249 additions and 0 deletions

164
amiga/bitmap.c Normal file
View File

@ -0,0 +1,164 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include "assert.h"
#include "image/bitmap.h"
#include "amiga/bitmap.h"
#include <proto/exec.h>
/**
* Create a bitmap.
*
* \param width width of image in pixels
* \param height width of image in pixels
* \param state a flag word indicating the initial state
* \return an opaque struct bitmap, or NULL on memory exhaustion
*/
struct bitmap *bitmap_create(int width, int height, unsigned int state)
{
struct bitmap *bitmap;
DebugPrintF("creating bitmap\n");
bitmap = AllocVec(sizeof(struct bitmap),MEMF_CLEAR);
if(bitmap)
{
bitmap->pixdata = AllocVec(width*height*4,MEMF_CLEAR);
bitmap->width = width;
bitmap->height = height;
}
return bitmap;
}
/**
* Return a pointer to the pixel data in a bitmap.
*
* \param bitmap a bitmap, as returned by bitmap_create()
* \return pointer to the pixel buffer
*
* The pixel data is packed as BITMAP_FORMAT, possibly with padding at the end
* of rows. The width of a row in bytes is given by bitmap_get_rowstride().
*/
char *bitmap_get_buffer(struct bitmap *bitmap)
{
return bitmap->pixdata;
}
/**
* Find the width of a pixel row in bytes.
*
* \param bitmap a bitmap, as returned by bitmap_create()
* \return width of a pixel row in the bitmap
*/
size_t bitmap_get_rowstride(struct bitmap *bitmap)
{
return (bitmap->width)*4;
}
/**
* Free a bitmap.
*
* \param bitmap a bitmap, as returned by bitmap_create()
*/
void bitmap_destroy(struct bitmap *bitmap)
{
FreeVec(bitmap->pixdata);
FreeVec(bitmap);
}
/**
* Save a bitmap in the platform's native format.
*
* \param bitmap a bitmap, as returned by bitmap_create()
* \param path pathname for file
* \return true on success, false on error and error reported
*/
bool bitmap_save(struct bitmap *bitmap, const char *path, unsigned flags)
{
return true;
}
/**
* The bitmap image has changed, so flush any persistant cache.
*
* \param bitmap a bitmap, as returned by bitmap_create()
*/
void bitmap_modified(struct bitmap *bitmap) {
}
/**
* The bitmap image can be suspended.
*
* \param bitmap a bitmap, as returned by bitmap_create()
* \param private_word a private word to be returned later
* \param suspend the function to be called upon suspension
* \param resume the function to be called when resuming
*/
void bitmap_set_suspendable(struct bitmap *bitmap, void *private_word,
void (*invalidate)(struct bitmap *bitmap, void *private_word)) {
}
/**
* Sets whether a bitmap should be plotted opaque
*
* \param bitmap a bitmap, as returned by bitmap_create()
* \param opaque whether the bitmap should be plotted opaque
*/
void bitmap_set_opaque(struct bitmap *bitmap, bool opaque)
{
assert(bitmap);
/* todo: set bitmap as opaque */
}
/**
* Tests whether a bitmap has an opaque alpha channel
*
* \param bitmap a bitmap, as returned by bitmap_create()
* \return whether the bitmap is opaque
*/
bool bitmap_test_opaque(struct bitmap *bitmap)
{
assert(bitmap);
/* todo: test if bitmap as opaque */
return false;
}
/**
* Gets whether a bitmap should be plotted opaque
*
* \param bitmap a bitmap, as returned by bitmap_create()
*/
bool bitmap_get_opaque(struct bitmap *bitmap)
{
assert(bitmap);
/* todo: get whether bitmap is opaque */
return false;
}

28
amiga/bitmap.h Executable file
View File

@ -0,0 +1,28 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#ifndef AMIGA_BITMAP_H
#define AMIGA_BITMAP_H
#include <exec/types.h>
struct bitmap {
ULONG width;
ULONG height;
UBYTE *pixdata;
};
#endif

98
amiga/compat.c Executable file
View File

@ -0,0 +1,98 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include <sys/types.h>
#include <string.h>
#include <stdlib.h>
#include "compat.h"
#include <proto/exec.h>
/*
char *strndup(const char *s,size_t n)
{
char *res;
size_t len = strlen(s);
if(n<len) len=n;
res = malloc(len+1);
if(!res)
return(0);
res[len] = '\0';
return memcpy(res,s,len);
}
*/
void shutdown(void)
{
/* dummy */
}
void jpeg_destroy_compress(void)
{
/* dummy */
}
int uname(struct utsname *uts)
{
struct Library *VersionBase;
if(VersionBase = OpenLibrary("version.library",50))
{
sprintf(uts->release,"%ld.%ld",VersionBase->lib_Version,VersionBase->lib_Version);
CloseLibrary(VersionBase);
}
strcpy(uts->sysname,"AmigaOS");
strcpy(uts->nodename,"amiga");
strcpy(uts->version,"4.0");
strcpy(uts->machine,"ppc");
}
uid_t geteuid(void)
{
return 0;
}
uid_t getuid(void)
{
return 0;
}
gid_t getgid(void)
{
return 0;
}
gid_t getegid(void)
{
return 0;
}
int tcsetattr(int fildes, int optional_actions, const struct termios *termios_p)
{
return 0;
}
int tcgetattr(int fildes, struct termios *termios_p)
{
return 0;
}

35
amiga/compat.h Executable file
View File

@ -0,0 +1,35 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#ifndef AMIGA_COMPAT_H
#define AMIGA_COMPAT_H
//#include <sys/unistd.h>
#include <termios.h>
#include <sys/utsname.h>
extern gid_t getegid(void);
extern uid_t geteuid(void);
extern uid_t getuid(void);
extern gid_t getgid(void);
extern int tcsetattr(int fildes, int optional_actions, const struct termios *termios_p);
extern int tcgetattr(int fildes, struct termios *termios_p);
//char *strndup(const char *,size_t);
extern int strcasecmp(const char *, const char *);
extern int uname(struct utsname *);
#endif

55
amiga/filetype.c Normal file
View File

@ -0,0 +1,55 @@
/*
* Copyright 2003 James Bursa <bursa@users.sourceforge.net>
*
* 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/>.
*/
#include <stdlib.h>
#include <string.h>
#include "content/fetch.h"
#include "utils/log.h"
#include "utils/utils.h"
/**
* filetype -- determine the MIME type of a local file
*/
const char *fetch_filetype(const char *unix_path)
{
int l;
LOG(("unix path %s", unix_path));
l = strlen(unix_path);
if (2 < l && strcasecmp(unix_path + l - 3, "css") == 0)
return "text/css";
if (2 < l && strcasecmp(unix_path + l - 3, "jpg") == 0)
return "image/jpeg";
if (3 < l && strcasecmp(unix_path + l - 4, "jpeg") == 0)
return "image/jpeg";
if (2 < l && strcasecmp(unix_path + l - 3, "gif") == 0)
return "image/gif";
if (2 < l && strcasecmp(unix_path + l - 3, "png") == 0)
return "image/png";
if (2 < l && strcasecmp(unix_path + l - 3, "jng") == 0)
return "image/jng";
if (2 < l && strcasecmp(unix_path + l - 3, "svg") == 0)
return "image/svg";
return "text/html";
}
char *fetch_mimetype(const char *ro_path)
{
return strdup("text/plain");
}

83
amiga/font.c Normal file
View File

@ -0,0 +1,83 @@
/*
* Copyright 2005 James Bursa <bursa@users.sourceforge.net>
* 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include <assert.h>
#include "css/css.h"
#include "render/font.h"
static bool nsfont_width(const struct css_style *style,
const char *string, size_t length,
int *width);
static bool nsfont_position_in_string(const struct css_style *style,
const char *string, size_t length,
int x, size_t *char_offset, int *actual_x);
static bool nsfont_split(const struct css_style *style,
const char *string, size_t length,
int x, size_t *char_offset, int *actual_x);
const struct font_functions nsfont = {
nsfont_width,
nsfont_position_in_string,
nsfont_split
};
bool nsfont_width(const struct css_style *style,
const char *string, size_t length,
int *width)
{
assert(style);
assert(string);
*width = length * 10;
return true;
}
bool nsfont_position_in_string(const struct css_style *style,
const char *string, size_t length,
int x, size_t *char_offset, int *actual_x)
{
assert(style);
assert(string);
*char_offset = (x + 5) / 10;
if (length < *char_offset)
*char_offset = length;
*actual_x = *char_offset * 10;
return true;
}
bool nsfont_split(const struct css_style *style,
const char *string, size_t length,
int x, size_t *char_offset, int *actual_x)
{
assert(style);
assert(string);
*char_offset = x / 10;
if (length < *char_offset)
*char_offset = length;
while (*char_offset && string[*char_offset] != ' ')
(*char_offset)--;
*actual_x = *char_offset * 10;
return true;
}

321
amiga/gui.c Executable file
View File

@ -0,0 +1,321 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include "desktop/gui.h"
#include "desktop/netsurf.h"
#include "utils/messages.h"
#include <proto/exec.h>
#include <proto/intuition.h>
#include "amiga/gui.h"
#include "amiga/plotters.h"
struct browser_window *curbw;
char *default_stylesheet_url;
char *adblock_stylesheet_url;
struct gui_window *search_current_window = NULL;
static bool gui_start = true;
void gui_init(int argc, char** argv)
{
verbose_log = true;
messages_load("amiga_temp_build/messages");
default_stylesheet_url = "file://netsurf/amiga_temp_build/default.css"; //"http://www.unsatisfactorysoftware.co.uk/newlook.css"; //path_to_url(buf);
options_read("options");
plot=amiplot;
}
void gui_init2(int argc, char** argv)
{
struct browser_window *bw;
const char *addr = "http://netsurf-browser.org/welcome/";
curbw = browser_window_create(addr, 0, 0, true); // curbw = temp
}
void ami_get_msg(void)
{
struct IntuiMessage *message = NULL;
ULONG class;
while(message = (struct IntuiMessage *)GetMsg(curwin->win->UserPort))
{
class = message->Class;
switch(class)
{
case IDCMP_CLOSEWINDOW:
gui_window_destroy(curwin);
gui_quit();
exit(0);
break;
default:
break;
}
ReplyMsg((struct Message *)message);
}
}
void gui_multitask(void)
{
printf("mtask\n");
ami_get_msg();
/* Commented out the below as we seem to have an odd concept of multitasking
where we can't wait for input as other things need to be done.
ULONG winsignal = 1L << curwin->win->UserPort->mp_SigBit;
ULONG signalmask = winsignal;
ULONG signals;
signals = Wait(signalmask);
if(signals & winsignal)
{
ami_get_msg();
}
*/
}
void gui_poll(bool active)
{
// printf("poll\n");
ami_get_msg();
schedule_run();
}
void gui_quit(void)
{
}
struct gui_window *gui_create_browser_window(struct browser_window *bw,
struct browser_window *clone)
{
struct gui_window *gwin = NULL;
gwin = AllocVec(sizeof(struct gui_window),MEMF_CLEAR);
if(!gwin)
{
printf("not enough mem");
return 0;
}
gwin->win = OpenWindowTags(NULL,
WA_CloseGadget, TRUE,
WA_DragBar, TRUE,
WA_DepthGadget, TRUE,
WA_Width, 800,
WA_Height, 600,
WA_IDCMP, IDCMP_CLOSEWINDOW,
WA_Title, "NetSurf",
TAG_DONE);
curwin=gwin; //test
return gwin;
}
void gui_window_destroy(struct gui_window *g)
{
CloseWindow(g->win);
FreeVec(g);
}
void gui_window_set_title(struct gui_window *g, const char *title)
{
SetWindowTitles(g->win,title,"NetSurf");
}
void gui_window_redraw(struct gui_window *g, int x0, int y0, int x1, int y1)
{
DebugPrintF("REDRAW\n");
}
void gui_window_redraw_window(struct gui_window *g)
{
DebugPrintF("REDRAW2\n"); // next
}
void gui_window_update_box(struct gui_window *g,
const union content_msg_data *data)
{
}
bool gui_window_get_scroll(struct gui_window *g, int *sx, int *sy)
{
}
void gui_window_set_scroll(struct gui_window *g, int sx, int sy)
{
}
void gui_window_scroll_visible(struct gui_window *g, int x0, int y0,
int x1, int y1)
{
}
void gui_window_position_frame(struct gui_window *g, int x0, int y0,
int x1, int y1)
{
}
void gui_window_get_dimensions(struct gui_window *g, int *width, int *height,
bool scaled)
{
}
void gui_window_update_extent(struct gui_window *g)
{
}
void gui_window_set_status(struct gui_window *g, const char *text)
{
printf("STATUS: %s\n",text);
}
void gui_window_set_pointer(struct gui_window *g, gui_pointer_shape shape)
{
}
void gui_window_hide_pointer(struct gui_window *g)
{
}
void gui_window_set_url(struct gui_window *g, const char *url)
{
}
void gui_window_start_throbber(struct gui_window *g)
{
}
void gui_window_stop_throbber(struct gui_window *g)
{
}
void gui_window_place_caret(struct gui_window *g, int x, int y, int height)
{
}
void gui_window_remove_caret(struct gui_window *g)
{
}
void gui_window_new_content(struct gui_window *g)
{
}
bool gui_window_scroll_start(struct gui_window *g)
{
}
bool gui_window_box_scroll_start(struct gui_window *g,
int x0, int y0, int x1, int y1)
{
}
bool gui_window_frame_resize_start(struct gui_window *g)
{
}
void gui_window_save_as_link(struct gui_window *g, struct content *c)
{
}
void gui_window_set_scale(struct gui_window *g, float scale)
{
}
struct gui_download_window *gui_download_window_create(const char *url,
const char *mime_type, struct fetch *fetch,
unsigned int total_size, struct gui_window *gui)
{
}
void gui_download_window_data(struct gui_download_window *dw, const char *data,
unsigned int size)
{
}
void gui_download_window_error(struct gui_download_window *dw,
const char *error_msg)
{
}
void gui_download_window_done(struct gui_download_window *dw)
{
}
void gui_drag_save_object(gui_save_type type, struct content *c,
struct gui_window *g)
{
}
void gui_drag_save_selection(struct selection *s, struct gui_window *g)
{
}
void gui_start_selection(struct gui_window *g)
{
}
void gui_paste_from_clipboard(struct gui_window *g, int x, int y)
{
}
bool gui_empty_clipboard(void)
{
}
bool gui_add_to_clipboard(const char *text, size_t length, bool space)
{
}
bool gui_commit_clipboard(void)
{
}
bool gui_copy_to_clipboard(struct selection *s)
{
}
void gui_create_form_select_menu(struct browser_window *bw,
struct form_control *control)
{
}
void gui_launch_url(const char *url)
{
}
bool gui_search_term_highlighted(struct gui_window *g,
unsigned start_offset, unsigned end_offset,
unsigned *start_idx, unsigned *end_idx)
{
}
#ifdef WITH_SSL
void gui_cert_verify(struct browser_window *bw, struct content *c,
const struct ssl_cert_info *certs, unsigned long num)
{
}
#endif

28
amiga/gui.h Executable file
View File

@ -0,0 +1,28 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#ifndef AMIGA_GUI_H
#define AMIGA_GUI_H
void ami_get_msg(void);
struct gui_window {
struct Window *win;
};
struct gui_window *curwin;
#endif

32
amiga/history.c Executable file
View File

@ -0,0 +1,32 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include "desktop/browser.h"
void global_history_add(const char *url)
{
}
void global_history_add_recent(const char *url)
{
}
char **global_history_get_recent(int *count)
{
}

23
amiga/hotlist.c Executable file
View File

@ -0,0 +1,23 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include "desktop/browser.h"
void hotlist_visited(struct content *content)
{
}

24
amiga/login.c Executable file
View File

@ -0,0 +1,24 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include "desktop/401login.h"
void gui_401login_open(struct browser_window *bw, struct content *c,
const char *realm)
{
}

42
amiga/misc.c Executable file
View File

@ -0,0 +1,42 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
//#include "utils/url.h"
#include "desktop/cookies.h"
void warn_user(const char *warning, const char *detail)
{
printf("WARNING: %s %s\n", warning, detail);
}
void die(const char *error)
{
printf("die: %s\n", error);
exit(1);
}
bool cookies_update(const char *domain, const struct cookie_data *data)
{ return true; }
char *url_to_path(const char *url)
{
return strdup(url + 5);
}

125
amiga/plotters.c Executable file
View File

@ -0,0 +1,125 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include "amiga/plotters.h"
#include "amiga/gui.h"
#include "amiga/bitmap.h"
#include <proto/Picasso96API.h>
#include <intuition/intuition.h>
struct plotter_table plot;
const struct plotter_table amiplot = {
ami_clg,
ami_rectangle,
ami_line,
ami_polygon,
ami_fill,
ami_clip,
ami_text,
ami_disc,
ami_arc,
ami_bitmap,
ami_bitmap_tile,
ami_group_start,
ami_group_end,
ami_flush,
ami_path
};
bool ami_clg(colour c)
{
printf("clg\n");
}
bool ami_rectangle(int x0, int y0, int width, int height,
int line_width, colour c, bool dotted, bool dashed)
{
printf("rect\n");
}
bool ami_line(int x0, int y0, int x1, int y1, int width,
colour c, bool dotted, bool dashed)
{
printf("line\n");
}
bool ami_polygon(int *p, unsigned int n, colour fill)
{
}
bool ami_fill(int x0, int y0, int x1, int y1, colour c)
{
}
bool ami_clip(int x0, int y0, int x1, int y1)
{
}
bool ami_text(int x, int y, const struct css_style *style,
const char *text, size_t length, colour bg, colour c)
{
printf("%s\n",text);
}
bool ami_disc(int x, int y, int radius, colour c, bool filled)
{
}
bool ami_arc(int x, int y, int radius, int angle1, int angle2,
colour c)
{
}
bool ami_bitmap(int x, int y, int width, int height,
struct bitmap *bitmap, colour bg)
{
struct RenderInfo ri;
printf("bitmap plotter\n");
ri.Memory = bitmap->pixdata;
ri.BytesPerRow = bitmap->width * 3;
ri.RGBFormat = RGBFB_B8G8R8;
p96WritePixelArray((struct RenderInfo *)&ri,0,0,curwin->win->RPort,x,y,width,height);
}
bool ami_bitmap_tile(int x, int y, int width, int height,
struct bitmap *bitmap, colour bg,
bool repeat_x, bool repeat_y)
{
printf("bitmap tile plotter\n");
}
bool ami_group_start(const char *name)
{
/** optional */
}
bool ami_group_end(void)
{
/** optional */
}
bool ami_flush(void)
{
}
bool ami_path(float *p, unsigned int n, colour fill, float width,
colour c, float *transform)
{
}

48
amiga/plotters.h Executable file
View File

@ -0,0 +1,48 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#ifndef AMIGA_PLOTTERS_H
#define AMIGA_PLOTTERS_H
#include "desktop/plotters.h"
extern const struct plotter_table amiplot;
bool ami_clg(colour c);
bool ami_rectangle(int x0, int y0, int width, int height,
int line_width, colour c, bool dotted, bool dashed);
bool ami_line(int x0, int y0, int x1, int y1, int width,
colour c, bool dotted, bool dashed);
bool ami_polygon(int *p, unsigned int n, colour fill);
bool ami_fill(int x0, int y0, int x1, int y1, colour c);
bool ami_clip(int x0, int y0, int x1, int y1);
bool ami_text(int x, int y, const struct css_style *style,
const char *text, size_t length, colour bg, colour c);
bool ami_disc(int x, int y, int radius, colour c, bool filled);
bool ami_arc(int x, int y, int radius, int angle1, int angle2,
colour c);
bool ami_bitmap(int x, int y, int width, int height,
struct bitmap *bitmap, colour bg);
bool ami_bitmap_tile(int x, int y, int width, int height,
struct bitmap *bitmap, colour bg,
bool repeat_x, bool repeat_y);
bool ami_group_start(const char *name);
bool ami_group_end(void);
bool ami_flush(void);
bool ami_path(float *p, unsigned int n, colour fill, float width,
colour c, float *transform);
#endif

32
amiga/schedule.c Executable file
View File

@ -0,0 +1,32 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include "desktop/browser.h"
void schedule(int t, void (*callback)(void *p), void *p)
{
printf("adding callback %lx\n",callback);
}
void schedule_remove(void (*callback)(void *p), void *p)
{
}
void schedule_run(void)
{
}

24
amiga/thumbnail.c Executable file
View File

@ -0,0 +1,24 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include "desktop/browser.h"
bool thumbnail_create(struct content *content, struct bitmap *bitmap,
const char *url)
{
}

62
amiga/tree.c Executable file
View File

@ -0,0 +1,62 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include "desktop/tree.h"
void tree_initialise_redraw(struct tree *tree)
{
}
void tree_redraw_area(struct tree *tree, int x, int y, int width, int height)
{
}
void tree_draw_line(int x, int y, int width, int height)
{
}
void tree_draw_node_element(struct tree *tree, struct node_element *element)
{
}
void tree_draw_node_expansion(struct tree *tree, struct node *node)
{
}
void tree_recalculate_node_element(struct node_element *element)
{
}
void tree_update_URL_node(struct node *node, const char *url,
const struct url_data *data)
{
}
void tree_resized(struct tree *tree)
{
}
void tree_set_node_sprite_folder(struct node *node)
{
}
void tree_set_node_sprite(struct node *node, const char *sprite,
const char *expanded)
{
}

25
amiga/utf8.c Executable file
View File

@ -0,0 +1,25 @@
/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#include <sys/types.h>
#include "utils/utf8.h"
utf8_convert_ret utf8_to_local_encoding(const char *string, size_t len,
char **result)
{
}