r5227 chris_y - in /trunk/netsurf/amiga: gui.c resources/Pointers/ resources/Pointers/Blank resources/Pointers/Point
by netsurf@semichrome.net
Author: chris_y
Date: Sun Aug 31 12:34:00 2008
New Revision: 5227
URL: http://source.netsurf-browser.org?rev=5227&view=rev
Log:
Basic user-configurable pointer image support.
GUI_POINTER_DEFAULT and GUI_POINTER_WAIT still use the Amiga system default pointers,
and will not be overridden by NetSurf.
Pointer imagery lives in Resources/Pointers and the filenames are all defined in the
ptrs array at the top of gui.c, in the same order as in gui_pointer_shape - with the
exception of GUI_POINTER_DEFAULT (this instead points to a "Blank" pointer for hiding
the pointer) and GUI_POINTER_WAIT (reserved for future use, currently points to "Wait"
but this will change).
The file format is very simple. It is a text file containing 16 rows of 16
characters, with a newline or CR (or, in fact, any character as this is not checked)
terminating each row. The seventeenth row indicates the pixel on which the "point" is
set, as two digit X direction, a space, then two digits for the Y direction.
Pointers/Point is based on the hand2 image by Andreas Kuerzinger (the original is in
the AKPointerz.lha archive on Aminet)
Added:
trunk/netsurf/amiga/resources/Pointers/
trunk/netsurf/amiga/resources/Pointers/Blank (with props)
trunk/netsurf/amiga/resources/Pointers/Point (with props)
Modified:
trunk/netsurf/amiga/gui.c
Modified: trunk/netsurf/amiga/gui.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/gui.c?rev=5227&r1=5...
==============================================================================
--- trunk/netsurf/amiga/gui.c (original)
+++ trunk/netsurf/amiga/gui.c Sun Aug 31 12:34:00 2008
@@ -51,6 +51,10 @@
#include "amiga/options.h"
#include <libraries/keymap.h>
#include "desktop/textinput.h"
+#include <intuition/pointerclass.h>
+#include <math.h>
+#include <prefs/pointer.h>
+#include <prefs/prefhdr.h>
#ifdef WITH_HUBBUB
#include <hubbub/hubbub.h>
@@ -94,6 +98,32 @@
struct IFFHandle *iffh = NULL;
struct tree *hotlist;
+#define AMI_LASTPOINTER GUI_POINTER_PROGRESS
+struct BitMap *mouseptrbm[AMI_LASTPOINTER+1];
+int mousexpt[AMI_LASTPOINTER+1];
+int mouseypt[AMI_LASTPOINTER+1];
+
+char *ptrs[AMI_LASTPOINTER+1] = {
+ "Resources/Pointers/Blank", // replaces default
+ "Resources/Pointers/Point",
+ "Resources/Pointers/Caret",
+ "Resources/Pointers/Menu",
+ "Resources/Pointers/Up",
+ "Resources/Pointers/Down",
+ "Resources/Pointers/Left",
+ "Resources/Pointers/Right",
+ "Resources/Pointers/RightUp",
+ "Resources/Pointers/LeftDown",
+ "Resources/Pointers/LeftUp",
+ "Resources/Pointers/RightDown",
+ "Resources/Pointers/Cross",
+ "Resources/Pointers/Move",
+ "Resources/Pointers/Wait", // not used
+ "Resources/Pointers/Help",
+ "Resources/Pointers/NoDrop",
+ "Resources/Pointers/NotAllowed",
+ "Resources/Pointers/Progress"};
+
void ami_update_buttons(struct gui_window *);
void ami_scroller_hook(struct Hook *,Object *,struct IntuiMessage *);
uint32 ami_popup_hook(struct Hook *hook,Object *item,APTR reserved);
@@ -109,6 +139,8 @@
bool found=FALSE;
int i;
BPTR lock=0;
+ struct RastPort mouseptr;
+ struct IFFHandle *mpiff = NULL;
msgport = AllocSysObjectTags(ASOT_PORT,
ASO_NoTrack,FALSE,
@@ -140,6 +172,40 @@
}
}
+ InitRastPort(&mouseptr);
+
+ for(i=0;i<=AMI_LASTPOINTER;i++)
+ {
+ BPTR ptrfile = 0;
+ mouseptrbm[i] = NULL;
+
+ if(ptrfile = Open(ptrs[i],MODE_OLDFILE))
+ {
+ int mx,my;
+ UBYTE *pprefsbuf = AllocVec(1024,MEMF_CLEAR);
+ Read(ptrfile,pprefsbuf,1024);
+
+ mouseptrbm[i]=AllocVec(sizeof(struct BitMap),MEMF_CLEAR);
+ InitBitMap(mouseptrbm[i],2,16,16);
+ mouseptrbm[i]->Planes[0] = AllocRaster(16,16);
+ mouseptrbm[i]->Planes[1] = AllocRaster(16,16);
+ mouseptr.BitMap = mouseptrbm[i];
+
+ for(my=0;my<16;my++)
+ {
+ for(mx=0;mx<16;mx++)
+ {
+ SetAPen(&mouseptr,pprefsbuf[(my*(17))+mx]-'0');
+ WritePixel(&mouseptr,mx,my);
+ }
+ }
+
+ mousexpt[i] = ((pprefsbuf[272]-'0')*10)+(pprefsbuf[273]-'0');
+ mouseypt[i] = ((pprefsbuf[275]-'0')*10)+(pprefsbuf[276]-'0');
+ FreeVec(pprefsbuf);
+ Close(ptrfile);
+ }
+ }
/* need to do some proper checking that components are opening */
options_read("Resources/Options");
@@ -696,6 +762,8 @@
void gui_quit(void)
{
+ int i;
+
urldb_save(option_url_file);
urldb_save_cookies(option_cookie_file);
options_save_tree(hotlist,option_hotlist_file,messages_get("TreeHotlist"));
@@ -707,8 +775,17 @@
if(!option_use_wb) CloseScreen(scrn);
p96FreeBitMap(dummyrp.BitMap);
FreeVec(nsscreentitle);
-
ami_free_menulabs();
+
+ for(i=0;i<=AMI_LASTPOINTER;i++)
+ {
+ if(mouseptrbm[i])
+ {
+ FreeRaster(mouseptrbm[i]->Planes[0],16,16);
+ FreeRaster(mouseptrbm[i]->Planes[1],16,16);
+ FreeVec(mouseptrbm[i]);
+ }
+ }
if(iffh->iff_Stream) CloseClipboard((struct ClipboardHandle *)iffh->iff_Stream);
if(iffh) FreeIFF(iffh);
@@ -1223,8 +1300,8 @@
bool gui_window_get_scroll(struct gui_window *g, int *sx, int *sy)
{
- GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],sx);
- GetAttr(SCROLLER_Top,g->objects[OID_VSCROLL],sy);
+ GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],(ULONG *)sx);
+ GetAttr(SCROLLER_Top,g->objects[OID_VSCROLL],(ULONG *)sy);
}
void gui_window_set_scroll(struct gui_window *g, int sx, int sy)
@@ -1246,7 +1323,7 @@
void gui_window_scroll_visible(struct gui_window *g, int x0, int y0,
int x1, int y1)
{
- printf("scr vis\n");
+// printf("scr vis\n");
}
void gui_window_position_frame(struct gui_window *g, int x0, int y0,
@@ -1307,10 +1384,19 @@
RefreshSetGadgetAttrs(g->gadgets[GID_STATUS],g->win,NULL,STRINGA_TextVal,text,TAG_DONE);
}
+Object *ami_custom_pointer(gui_pointer_shape shape)
+{
+ return NewObject(NULL,"pointerclass",POINTERA_BitMap,mouseptrbm[shape],POINTERA_WordWidth,2,POINTERA_XOffset,-mousexpt[shape],POINTERA_YOffset,-mouseypt[shape],POINTERA_XResolution,POINTERXRESN_SCREENRES,POINTERA_YResolution,POINTERYRESN_SCREENRESASPECT,TAG_DONE);
+}
+
void gui_window_set_pointer(struct gui_window *g, gui_pointer_shape shape)
{
switch(shape)
{
+ case GUI_POINTER_DEFAULT:
+ SetWindowPointer(g->win,TAG_DONE);
+ break;
+
case GUI_POINTER_WAIT:
SetWindowPointer(g->win,
WA_BusyPointer,TRUE,
@@ -1319,13 +1405,16 @@
break;
default:
- SetWindowPointer(g->win,TAG_DONE);
+ SetWindowPointer(g->win,WA_Pointer,ami_custom_pointer(shape),TAG_DONE);
break;
}
+
+
}
void gui_window_hide_pointer(struct gui_window *g)
{
+ SetWindowPointer(g->win,WA_Pointer,ami_custom_pointer(0),TAG_DONE);
}
void gui_window_set_url(struct gui_window *g, const char *url)
@@ -1416,7 +1505,7 @@
TAG_DONE))
{
strlcpy(&fname,filereq->fr_Drawer,1024);
- AddPart(&fname,filereq->fr_File,1024);
+ AddPart((STRPTR)&fname,filereq->fr_File,1024);
}
else return NULL;
@@ -1425,11 +1514,11 @@
dw->size = total_size;
dw->downloaded = 0;
- va[0] = dw->downloaded;
- va[1] = dw->size;
+ va[0] = (APTR)dw->downloaded;
+ va[1] = (APTR)dw->size;
va[2] = 0;
- if(!(dw->fh = FOpen(&fname,MODE_NEWFILE,0)))
+ if(!(dw->fh = FOpen((STRPTR)&fname,MODE_NEWFILE,0)))
{
FreeVec(dw);
return NULL;
Added: trunk/netsurf/amiga/resources/Pointers/Blank
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/resources/Pointers/...
==============================================================================
--- trunk/netsurf/amiga/resources/Pointers/Blank (added)
+++ trunk/netsurf/amiga/resources/Pointers/Blank Sun Aug 31 12:34:00 2008
@@ -1,0 +1,17 @@
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+0000000000000000
+00 00
Propchange: trunk/netsurf/amiga/resources/Pointers/Blank
------------------------------------------------------------------------------
amiga:protection = ----rwed ---- ----
Propchange: trunk/netsurf/amiga/resources/Pointers/Blank
------------------------------------------------------------------------------
svn:executable = *
Added: trunk/netsurf/amiga/resources/Pointers/Point
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/resources/Pointers/...
==============================================================================
--- trunk/netsurf/amiga/resources/Pointers/Point (added)
+++ trunk/netsurf/amiga/resources/Pointers/Point Sun Aug 31 12:34:00 2008
@@ -1,0 +1,17 @@
+0000002200000000
+0000023320000000
+0000023320000000
+0000023320000000
+0000023322000000
+0000023323220000
+0220023323232200
+2332023323232320
+2333223333332320
+0233323333333320
+0023323333333320
+0023333333333320
+0002333333333200
+0000233333333200
+0000023333332000
+0000022222222000
+06 00
Propchange: trunk/netsurf/amiga/resources/Pointers/Point
------------------------------------------------------------------------------
amiga:protection = ----rwed ---- ----
Propchange: trunk/netsurf/amiga/resources/Pointers/Point
------------------------------------------------------------------------------
svn:executable = *
15 years
r5226 adamblokus - in /branches/libharu/upstream: include/hpdf.h src/hpdf_image.c
by netsurf@semichrome.net
Author: adamblokus
Date: Sun Aug 31 11:27:08 2008
New Revision: 5226
URL: http://source.netsurf-browser.org?rev=5226&view=rev
Log:
Latest upstream changes - from now on the official version can be used.
Modified:
branches/libharu/upstream/include/hpdf.h
branches/libharu/upstream/src/hpdf_image.c
Modified: branches/libharu/upstream/include/hpdf.h
URL: http://source.netsurf-browser.org/branches/libharu/upstream/include/hpdf....
==============================================================================
--- branches/libharu/upstream/include/hpdf.h (original)
+++ branches/libharu/upstream/include/hpdf.h Sun Aug 31 11:27:08 2008
@@ -526,6 +526,10 @@
HPDF_ColorSpace color_space,
HPDF_UINT bits_per_component);
+HPDF_EXPORT(HPDF_STATUS)
+HPDF_Image_AddSMask (HPDF_Doc pdf,
+ HPDF_Image image,
+ HPDF_Image smask);
HPDF_EXPORT(HPDF_Point)
HPDF_Image_GetSize (HPDF_Image image);
Modified: branches/libharu/upstream/src/hpdf_image.c
URL: http://source.netsurf-browser.org/branches/libharu/upstream/src/hpdf_imag...
==============================================================================
--- branches/libharu/upstream/src/hpdf_image.c (original)
+++ branches/libharu/upstream/src/hpdf_image.c Sun Aug 31 11:27:08 2008
@@ -609,4 +609,25 @@
return HPDF_OK;
}
-
+HPDF_EXPORT(HPDF_STATUS)
+HPDF_Image_AddSMask (HPDF_Doc pdf,
+ HPDF_Image image,
+ HPDF_Image smask)
+{
+
+ const char *name;
+
+ if (!HPDF_Image_Validate (image))
+ return HPDF_INVALID_IMAGE;
+ if (!HPDF_Image_Validate (smask))
+ return HPDF_INVALID_IMAGE;
+
+ if (HPDF_Dict_GetItem (image, "SMask", HPDF_OCLASS_BOOLEAN))
+ return HPDF_RaiseError (image->error, HPDF_INVALID_OPERATION, 0);
+
+ name = HPDF_Image_GetColorSpace (smask);
+ if (!name || HPDF_StrCmp (COL_GRAY, name) != 0)
+ return HPDF_RaiseError (smask->error, HPDF_INVALID_COLOR_SPACE, 0);
+
+ return HPDF_Dict_Add (image, "SMask", smask);
+}
15 years
r5225 chris_y - /trunk/netsurf/!NetSurf/Resources/en/Messages
by netsurf@semichrome.net
Author: chris_y
Date: Sun Aug 31 06:22:59 2008
New Revision: 5225
URL: http://source.netsurf-browser.org?rev=5225&view=rev
Log:
Addition of strings used by the Amiga UI.
Modified:
trunk/netsurf/!NetSurf/Resources/en/Messages
Modified: trunk/netsurf/!NetSurf/Resources/en/Messages
URL: http://source.netsurf-browser.org/trunk/netsurf/%21NetSurf/Resources/en/M...
==============================================================================
--- trunk/netsurf/!NetSurf/Resources/en/Messages (original)
+++ trunk/netsurf/!NetSurf/Resources/en/Messages Sun Aug 31 06:22:59 2008
@@ -215,6 +215,36 @@
ImgStyle2:Dithered
ImgStyle3:Error diffused
+# Menu items used in the Amiga version.
+# Some of these are copies of other strings but without the
+# embedded shortcut keys. (NS suffix = No Shortcut)
+#
+# Project menu
+#
+Project:Project
+NewWindowNS:New window
+CloseWindow:Close window
+SaveAs:Save as
+Source:Source...
+TextNS:Text...
+PDF:PDF...
+
+# Edit menu
+#
+Copy:Copy
+Paste:Paste
+SelectAllNS:Select all
+ClearNS:Clear selection
+
+# Hotlist menu
+#
+HotlistShowNS:Show hotlist...
+
+# Settings menu
+#
+Settings:Settings
+SnapshotWindow:Snapshot window
+SettingsSave:Save settings
# Treeview interface tokens
# =========================
@@ -248,6 +278,10 @@
TreeImport:Imported URL
TreeNewFolder:New directory
+# Tree export
+#
+TreeHotlist:NetSurf hotlist
+
# Hotlist user interface tokens
# =============================
@@ -297,6 +331,14 @@
DownloadU:%s of unknown ⢠%s/s ⢠%s total
Downloaded:%s complete ⢠average %s/s ⢠%s total
Unwritten:Writing data to file failed.
+
+# Amiga download window tokens
+#
+# This section contains tokens which are used in the Amiga
+# download window.
+#
+amiDownload:%ld of %ld bytes downloaded
+amiDownloadU:%ld bytes downloaded
# GTK download window tokens
#
@@ -358,6 +400,20 @@
# dialog box.
#
NotFound:Not found
+
+
+# 401 login user interface tokens
+# ===============================
+#
+# This section contains tokens which are used in the 401 login
+# (authentication) dialog box.
+#
+Host:Host
+Realm:Realm
+Username:Username
+Password:Password
+Login:Login
+Cancel:Cancel
# Content
@@ -461,6 +517,9 @@
EmptyError:file is empty.
PrintErrorRO2:It appears that the printer is busy.
AWNotSeen:Please locate the AWViewer application and try again.
+
+# Error messages for Amiga version only
+NoMode:No matching mode in screens database
# Queries
# =======
@@ -616,6 +675,7 @@
objs:objects
styl:stylesheet
styls:stylesheets
+OK:OK
# Interactive help
# ================
@@ -1012,12 +1072,9 @@
# These tokens appear to be unused at the current time.
#
-# Tree export
-TreeHotlist:NetSurf hotlist
TreeHistory:NetSurf history
SaveSelect:Save
ExportAs:Export as
-Copy:Copy to clipboard ^C
AnimImg:Animations
DitherImg:Dither images
FilterImg:Smooth images
15 years
r5224 chris_y - in /trunk/netsurf/amiga: gui.c menu.c
by netsurf@semichrome.net
Author: chris_y
Date: Sun Aug 31 06:21:47 2008
New Revision: 5224
URL: http://source.netsurf-browser.org?rev=5224&view=rev
Log:
Menu tidy-up, string correction and swap of Source and Text in the save/export menu
Modified:
trunk/netsurf/amiga/gui.c
trunk/netsurf/amiga/menu.c
Modified: trunk/netsurf/amiga/gui.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/gui.c?rev=5224&r1=5...
==============================================================================
--- trunk/netsurf/amiga/gui.c (original)
+++ trunk/netsurf/amiga/gui.c Sun Aug 31 06:21:47 2008
@@ -453,7 +453,7 @@
break;
default:
- printf("GADGET: %ld\n",(result & WMHI_GADGETMASK));
+// printf("GADGET: %ld\n",(result & WMHI_GADGETMASK));
break;
}
break;
@@ -485,20 +485,6 @@
char fname[1024];
case 0:
- if(AslRequestTags(filereq,
- ASLFR_TitleText,messages_get("NetSurf"),
- ASLFR_Screen,scrn,
- ASLFR_DoSaveMode,TRUE,
- ASLFR_InitialFile,FilePart(gwin->bw->current_content->url),
- TAG_DONE))
- {
- strlcpy(&fname,filereq->fr_Drawer,1024);
- AddPart(&fname,filereq->fr_File,1024);
- save_as_text(gwin->bw->current_content,&fname);
- }
- break;
-
- case 1:
if(AslRequestTags(filereq,
ASLFR_TitleText,messages_get("NetSurf"),
ASLFR_Screen,scrn,
@@ -513,6 +499,20 @@
FWrite(fh,gwin->bw->current_content->source_data,1,gwin->bw->current_content->source_size);
FClose(fh);
}
+ }
+ break;
+
+ case 1:
+ if(AslRequestTags(filereq,
+ ASLFR_TitleText,messages_get("NetSurf"),
+ ASLFR_Screen,scrn,
+ ASLFR_DoSaveMode,TRUE,
+ ASLFR_InitialFile,FilePart(gwin->bw->current_content->url),
+ TAG_DONE))
+ {
+ strlcpy(&fname,filereq->fr_Drawer,1024);
+ AddPart(&fname,filereq->fr_File,1024);
+ save_as_text(gwin->bw->current_content,&fname);
}
break;
Modified: trunk/netsurf/amiga/menu.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/menu.c?rev=5224&r1=...
==============================================================================
--- trunk/netsurf/amiga/menu.c (original)
+++ trunk/netsurf/amiga/menu.c Sun Aug 31 06:21:47 2008
@@ -35,22 +35,22 @@
void ami_init_menulabs(void)
{
menulab[0] = ami_utf8_easy((char *)messages_get("Project"));
- menulab[1] = ami_utf8_easy((char *)messages_get("NewWindow"));
+ menulab[1] = ami_utf8_easy((char *)messages_get("NewWindowNS"));
menulab[2] = NM_BARLABEL;
menulab[3] = ami_utf8_easy((char *)messages_get("SaveAs"));
- menulab[4] = ami_utf8_easy((char *)messages_get("Text"));
- menulab[5] = ami_utf8_easy((char *)messages_get("Source"));
+ menulab[4] = ami_utf8_easy((char *)messages_get("Source"));
+ menulab[5] = ami_utf8_easy((char *)messages_get("TextNS"));
menulab[6] = ami_utf8_easy((char *)messages_get("PDF"));
menulab[7] = NM_BARLABEL;
menulab[8] = ami_utf8_easy((char *)messages_get("CloseWindow"));
menulab[9] = ami_utf8_easy((char *)messages_get("Edit"));
menulab[10] = ami_utf8_easy((char *)messages_get("Copy"));
menulab[11] = ami_utf8_easy((char *)messages_get("Paste"));
- menulab[12] = ami_utf8_easy((char *)messages_get("SelectAll"));
- menulab[13] = ami_utf8_easy((char *)messages_get("Clear"));
+ menulab[12] = ami_utf8_easy((char *)messages_get("SelectAllNS"));
+ menulab[13] = ami_utf8_easy((char *)messages_get("ClearNS"));
menulab[14] = ami_utf8_easy((char *)messages_get("Hotlist"));
menulab[15] = ami_utf8_easy((char *)messages_get("HotlistAdd"));
- menulab[16] = ami_utf8_easy((char *)messages_get("HotlistShow"));
+ menulab[16] = ami_utf8_easy((char *)messages_get("HotlistShowNS"));
menulab[17] = ami_utf8_easy((char *)messages_get("Settings"));
menulab[18] = ami_utf8_easy((char *)messages_get("SnapshotWindow"));
menulab[19] = ami_utf8_easy((char *)messages_get("SettingsSave"));
@@ -65,8 +65,8 @@
{ NM_ITEM,0,"N",0,0,0,}, // new window
{ NM_ITEM,NM_BARLABEL,0,0,0,0,},
{ NM_ITEM,0,0,0,0,0,}, // save
+ { NM_SUB,0,"S",0,0,0,}, // save as source
{ NM_SUB,0,0,0,0,0,}, // save as text
- { NM_SUB,0,0,0,0,0,}, // save as source
{ NM_SUB,0,0,0,0,0,}, // save as pdf
{ NM_ITEM,NM_BARLABEL,0,0,0,0,},
{ NM_ITEM,0,"K",0,0,0,}, // close window
15 years
r5223 chris_y - /trunk/netsurf/amiga/options.h
by netsurf@semichrome.net
Author: chris_y
Date: Sat Aug 30 16:41:35 2008
New Revision: 5223
URL: http://source.netsurf-browser.org?rev=5223&view=rev
Log:
Option to stop iframes popping up in new windows
Modified:
trunk/netsurf/amiga/options.h
Modified: trunk/netsurf/amiga/options.h
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/options.h?rev=5223&...
==============================================================================
--- trunk/netsurf/amiga/options.h (original)
+++ trunk/netsurf/amiga/options.h Sat Aug 30 16:41:35 2008
@@ -25,18 +25,24 @@
extern char *option_hotlist_file;
extern bool option_use_wb;
extern int option_modeid;
+extern char *option_toolbar_images;
+extern bool option_no_iframes;
#define EXTRA_OPTION_DEFINE \
bool option_verbose_log = false; \
char *option_url_file = 0; \
char *option_hotlist_file = 0; \
bool option_use_wb = false; \
-int option_modeid = 0;
+int option_modeid = 0; \
+char *option_toolbar_images = 0; \
+bool option_no_iframes = false; \
#define EXTRA_OPTION_TABLE \
{ "verbose_log", OPTION_BOOL, &option_verbose_log}, \
{ "url_file", OPTION_STRING, &option_url_file }, \
{ "hotlist_file", OPTION_STRING, &option_hotlist_file }, \
{ "use_workbench", OPTION_BOOL, &option_use_wb}, \
-{ "screen_modeid", OPTION_INTEGER, &option_modeid},
+{ "screen_modeid", OPTION_INTEGER, &option_modeid}, \
+{ "toolbar_images", OPTION_STRING, &option_toolbar_images }, \
+{ "no_iframes", OPTION_BOOL, &option_no_iframes},
#endif
15 years
r5222 chris_y - in /trunk/netsurf/amiga: gui.c gui.h login.c login.h object.h
by netsurf@semichrome.net
Author: chris_y
Date: Sat Aug 30 16:32:05 2008
New Revision: 5222
URL: http://source.netsurf-browser.org?rev=5222&view=rev
Log:
401 authentication/login support.
Added:
trunk/netsurf/amiga/login.h (with props)
Modified:
trunk/netsurf/amiga/gui.c
trunk/netsurf/amiga/gui.h
trunk/netsurf/amiga/login.c
trunk/netsurf/amiga/object.h
Modified: trunk/netsurf/amiga/gui.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/gui.c?rev=5222&r1=5...
==============================================================================
--- trunk/netsurf/amiga/gui.c (original)
+++ trunk/netsurf/amiga/gui.c Sat Aug 30 16:32:05 2008
@@ -80,7 +80,6 @@
char *default_stylesheet_url;
char *adblock_stylesheet_url;
struct gui_window *search_current_window = NULL;
-struct MinList *window_list;
struct MsgPort *msgport;
struct timerequest *tioreq;
@@ -89,12 +88,10 @@
struct Library *PopupMenuBase = NULL;
struct PopupMenuIFace *IPopupMenu = NULL;
-struct Screen *scrn;
bool win_destroyed = false;
static struct RastPort dummyrp;
struct FileRequester *filereq;
struct IFFHandle *iffh = NULL;
-STRPTR nsscreentitle = NULL;
struct tree *hotlist;
void ami_update_buttons(struct gui_window *);
@@ -261,10 +258,10 @@
BMF_CLEAR | BMF_DISPLAYABLE | BMF_INTERLEAVED,
NULL,RGBFB_A8R8G8B8);
+ if(!dummyrp.BitMap) die(messages_get("NoMemory"));
+
if ((!option_homepage_url) || (option_homepage_url[0] == '\0'))
option_homepage_url = strdup(NETSURF_HOMEPAGE);
-
-/* need some bestmodeid() in here, or grab modeid from options file */
if(option_modeid)
{
@@ -442,6 +439,19 @@
ami_update_buttons(gwin);
break;
+ case GID_LOGIN:
+ ami_401login_login((struct gui_login_window *)gwin);
+ win_destroyed = true;
+ break;
+
+ case GID_CANCEL:
+ if(gwin->node->Type == AMINS_LOGINWINDOW)
+ {
+ ami_401login_close((struct gui_login_window *)gwin);
+ win_destroyed = true;
+ }
+ break;
+
default:
printf("GADGET: %ld\n",(result & WMHI_GADGETMASK));
break;
@@ -752,25 +762,27 @@
struct gui_window *gwin = NULL;
bool closegadg=TRUE;
+ if(bw->browser_window_type == BROWSER_WINDOW_IFRAME)
+ {
+ if(option_no_iframes) return NULL;
/*
- if(bw->browser_window_type == BROWSER_WINDOW_IFRAME)
- {
gwin = bw->parent->window;
printf("%lx\n",gwin);
return gwin;
- }
*/
+ }
+
gwin = AllocVec(sizeof(struct gui_window),MEMF_CLEAR);
+
+ if(!gwin)
+ {
+ warn_user("NoMemory");
+ return NULL;
+ }
gwin->scrollerhook.h_Entry = ami_scroller_hook;
gwin->scrollerhook.h_Data = gwin;
-
- if(!gwin)
- {
- printf(messages_get("NoMemory"));
- return 0;
- }
menu = ami_create_menu(bw->browser_window_type);
@@ -944,17 +956,28 @@
gwin->win = (struct Window *)RA_OpenWindow(gwin->objects[OID_MAIN]);
+ if(!gwin->win)
+ {
+ warn_user("NoMemory");
+ FreeVec(gwin);
+ return NULL;
+ }
+
gwin->bw = bw;
-// curwin = gwin; //test
-/* not needed - no rendering takes place here. */
currp = &gwin->rp; // WINDOW.CLASS: &gwin->rp; //gwin->win->RPort;
-/* below needs to be allocated as big as the screen */
gwin->bm = p96AllocBitMap(scrn->Width,scrn->Height,32,
BMF_CLEAR | BMF_DISPLAYABLE | BMF_INTERLEAVED,
gwin->win->RPort->BitMap,
RGBFB_A8R8G8B8);
+ if(!gwin->bm)
+ {
+ warn_user("NoMemory");
+ browser_window_destroy(bw);
+ return NULL;
+ }
+
InitRastPort(&gwin->rp);
gwin->rp.BitMap = gwin->bm;
SetDrMd(currp,BGBACKFILL);
@@ -964,9 +987,25 @@
gwin->areabuf = AllocVec(100,MEMF_CLEAR);
gwin->rp.AreaInfo = AllocVec(sizeof(struct AreaInfo),MEMF_CLEAR);
+
+ if((!gwin->areabuf) || (!gwin->rp.AreaInfo))
+ {
+ warn_user("NoMemory");
+ browser_window_destroy(bw);
+ return NULL;
+ }
+
InitArea(gwin->rp.AreaInfo,gwin->areabuf,100/5);
gwin->rp.TmpRas = AllocVec(sizeof(struct TmpRas),MEMF_CLEAR);
gwin->tmprasbuf = AllocVec(scrn->Width*scrn->Height,MEMF_CLEAR);
+
+ if((!gwin->tmprasbuf) || (!gwin->rp.TmpRas))
+ {
+ warn_user("NoMemory");
+ browser_window_destroy(bw);
+ return NULL;
+ }
+
InitTmpRas(gwin->rp.TmpRas,gwin->tmprasbuf,scrn->Width*scrn->Height);
GetRPAttrs(&gwin->rp,RPTAG_Font,&origrpfont,TAG_DONE);
@@ -976,19 +1015,11 @@
RefreshSetGadgetAttrs((APTR)gwin->objects[OID_VSCROLL],gwin->win,NULL,
-/*
- GA_RelVerify,TRUE,
- GA_Immediate,TRUE,
-*/
GA_ID,OID_VSCROLL,
ICA_TARGET,ICTARGET_IDCMP,
TAG_DONE);
RefreshSetGadgetAttrs((APTR)gwin->objects[OID_HSCROLL],gwin->win,NULL,
-/*
- GA_RelVerify,TRUE,
- GA_Immediate,TRUE,
-*/
GA_ID,OID_HSCROLL,
ICA_TARGET,ICTARGET_IDCMP,
TAG_DONE);
@@ -1001,6 +1032,8 @@
void gui_window_destroy(struct gui_window *g)
{
+ if(!g) return;
+
DisposeObject(g->objects[OID_MAIN]);
DeleteLayer(0,g->rp.Layer);
DisposeLayerInfo(g->layerinfo);
@@ -1023,6 +1056,7 @@
void gui_window_set_title(struct gui_window *g, const char *title)
{
+ if(!g) return;
if(g->win->Title) ami_utf8_free(g->win->Title);
SetWindowTitles(g->win,ami_utf8_easy(title),nsscreentitle);
}
@@ -1034,6 +1068,8 @@
void gui_window_redraw_window(struct gui_window *g)
{
+ if(!g) return;
+
g->redraw_required = true;
g->redraw_data = NULL;
}
@@ -1044,6 +1080,8 @@
struct content *c;
ULONG hcurrent,vcurrent,xoffset,yoffset,width=800,height=600;
struct IBox *bbox;
+
+ if(!g) return;
GetAttr(SPACE_AreaBox,g->gadgets[GID_BROWSER],(ULONG *)&bbox);
GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],&hcurrent);
@@ -1191,6 +1229,8 @@
void gui_window_set_scroll(struct gui_window *g, int sx, int sy)
{
+ if(!g) return;
+
RefreshSetGadgetAttrs((APTR)g->objects[OID_VSCROLL],g->win,NULL,
SCROLLER_Top,sy,
TAG_DONE);
@@ -1212,6 +1252,7 @@
void gui_window_position_frame(struct gui_window *g, int x0, int y0,
int x1, int y1)
{
+ if(!g) return;
ChangeWindowBox(g->win,x0,y0,x1-x0,y1-y0);
}
@@ -1219,6 +1260,7 @@
bool scaled)
{
struct IBox *bbox;
+ if(!g) return;
GetAttr(SPACE_AreaBox,g->gadgets[GID_BROWSER],(ULONG *)&bbox);
@@ -1237,6 +1279,8 @@
void gui_window_update_extent(struct gui_window *g)
{
struct IBox *bbox;
+
+ if(!g) return;
GetAttr(SPACE_AreaBox,g->gadgets[GID_BROWSER],(ULONG *)&bbox);
@@ -1286,6 +1330,8 @@
void gui_window_set_url(struct gui_window *g, const char *url)
{
+ if(!g) return;
+
RefreshSetGadgetAttrs(g->gadgets[GID_URL],g->win,NULL,STRINGA_TextVal,url,TAG_DONE);
}
@@ -1300,6 +1346,8 @@
void gui_window_place_caret(struct gui_window *g, int x, int y, int height)
{
struct IBox *bbox;
+
+ if(!g) return;
GetAttr(SPACE_AreaBox,g->gadgets[GID_BROWSER],(ULONG *)&bbox);
@@ -1314,6 +1362,8 @@
void gui_window_remove_caret(struct gui_window *g)
{
struct IBox *bbox;
+
+ if(!g) return;
GetAttr(SPACE_AreaBox,g->gadgets[GID_BROWSER],(ULONG *)&bbox);
@@ -1395,6 +1445,7 @@
WA_SizeGadget, TRUE,
WA_CustomScreen,scrn,
WINDOW_IconifyGadget, TRUE,
+ WINDOW_LockHeight,TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
WINDOW_ParentGroup, dw->gadgets[GID_MAIN] = VGroupObject,
LAYOUT_AddChild, dw->gadgets[GID_STATUS] = FuelGaugeObject,
@@ -1432,8 +1483,8 @@
dw->downloaded = dw->downloaded + size;
- va[0] = dw->downloaded;
- va[1] = dw->size;
+ va[0] = (APTR)dw->downloaded;
+ va[1] = (APTR)dw->size;
va[2] = 0;
if(dw->size)
Modified: trunk/netsurf/amiga/gui.h
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/gui.h?rev=5222&r1=5...
==============================================================================
--- trunk/netsurf/amiga/gui.h (original)
+++ trunk/netsurf/amiga/gui.h Sat Aug 30 16:32:05 2008
@@ -38,6 +38,10 @@
GID_BACK,
GID_FORWARD,
GID_THROBBER,
+ GID_USER,
+ GID_PASS,
+ GID_LOGIN,
+ GID_CANCEL,
GID_LAST
};
@@ -86,4 +90,7 @@
struct RastPort *currp;
struct TextFont *origrpfont;
+struct MinList *window_list;
+struct Screen *scrn;
+STRPTR nsscreentitle;
#endif
Modified: trunk/netsurf/amiga/login.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/login.c?rev=5222&r1...
==============================================================================
--- trunk/netsurf/amiga/login.c (original)
+++ trunk/netsurf/amiga/login.c Sat Aug 30 16:32:05 2008
@@ -17,8 +17,130 @@
*/
#include "desktop/401login.h"
+#include "amiga/gui.h"
+#include "amiga/object.h"
+#include "amiga/login.h"
+#include <proto/exec.h>
+#include <proto/intuition.h>
+#include <proto/utility.h>
+#include "utils/url.h"
+#include "content/urldb.h"
+#include "utils/messages.h"
+
+#include <proto/window.h>
+#include <proto/layout.h>
+#include <proto/string.h>
+#include <proto/button.h>
+#include <proto/label.h>
+#include <classes/window.h>
+#include <gadgets/layout.h>
+#include <gadgets/string.h>
+#include <gadgets/button.h>
+#include <images/label.h>
+#include <reaction/reaction_macros.h>
void gui_401login_open(struct browser_window *bw, struct content *c,
const char *realm)
{
+ struct gui_login_window *lw = AllocVec(sizeof(struct gui_login_window),MEMF_CLEAR);
+ char *host;
+
+ url_host(c->url, &host);
+ lw->host = host;
+ lw->url = c->url;
+ lw->realm = (char *)realm;
+ lw->bw = bw;
+
+ lw->objects[OID_MAIN] = WindowObject,
+ WA_ScreenTitle,nsscreentitle,
+ WA_Title,lw->url,
+ WA_Activate, TRUE,
+ WA_DepthGadget, TRUE,
+ WA_DragBar, TRUE,
+ WA_CloseGadget, FALSE,
+ WA_SizeGadget, TRUE,
+ WA_CustomScreen,scrn,
+ WINDOW_IconifyGadget, FALSE,
+ WINDOW_LockHeight,TRUE,
+ WINDOW_Position, WPOS_CENTERSCREEN,
+ WINDOW_ParentGroup, lw->gadgets[GID_MAIN] = VGroupObject,
+ LAYOUT_AddChild, StringObject,
+ STRINGA_TextVal,lw->host,
+ GA_ReadOnly,TRUE,
+ StringEnd,
+ CHILD_Label, LabelObject,
+ LABEL_Text,messages_get("Host"),
+ LabelEnd,
+ CHILD_WeightedHeight,0,
+ LAYOUT_AddChild, StringObject,
+ STRINGA_TextVal,lw->realm,
+ GA_ReadOnly,TRUE,
+ StringEnd,
+ CHILD_Label, LabelObject,
+ LABEL_Text,messages_get("Realm"),
+ LabelEnd,
+ CHILD_WeightedHeight,0,
+ LAYOUT_AddChild, lw->gadgets[GID_USER] = StringObject,
+ GA_ID,GID_USER,
+ GA_TabCycle,TRUE,
+ StringEnd,
+ CHILD_Label, LabelObject,
+ LABEL_Text,messages_get("Username"),
+ LabelEnd,
+ CHILD_WeightedHeight,0,
+ LAYOUT_AddChild, lw->gadgets[GID_PASS] = StringObject,
+ GA_ID,GID_PASS,
+ STRINGA_HookType,SHK_PASSWORD,
+ GA_TabCycle,TRUE,
+ StringEnd,
+ CHILD_Label, LabelObject,
+ LABEL_Text,messages_get("Password"),
+ LabelEnd,
+ CHILD_WeightedHeight,0,
+ LAYOUT_AddChild, HGroupObject,
+ LAYOUT_AddChild, lw->gadgets[GID_LOGIN] = ButtonObject,
+ GA_ID,GID_LOGIN,
+ GA_RelVerify,TRUE,
+ GA_Text,messages_get("Login"),
+ GA_TabCycle,TRUE,
+ ButtonEnd,
+ CHILD_WeightedHeight,0,
+ LAYOUT_AddChild, lw->gadgets[GID_CANCEL] = ButtonObject,
+ GA_ID,GID_CANCEL,
+ GA_RelVerify,TRUE,
+ GA_Text,messages_get("Cancel"),
+ GA_TabCycle,TRUE,
+ ButtonEnd,
+ LayoutEnd,
+ CHILD_WeightedHeight,0,
+ EndGroup,
+ EndWindow;
+
+ lw->win = (struct Window *)RA_OpenWindow(lw->objects[OID_MAIN]);
+
+ lw->node = AddObject(window_list,AMINS_LOGINWINDOW);
+ lw->node->objstruct = lw;
}
+
+void ami_401login_close(struct gui_login_window *lw)
+{
+ DisposeObject(lw->objects[OID_MAIN]);
+ free(lw->host);
+ DelObject(lw->node);
+}
+
+void ami_401login_login(struct gui_login_window *lw)
+{
+ ULONG *user,*pass;
+ STRPTR userpass;
+
+ GetAttr(STRINGA_TextVal,lw->gadgets[GID_USER],(ULONG *)&user);
+ GetAttr(STRINGA_TextVal,lw->gadgets[GID_PASS],(ULONG *)&pass);
+
+ userpass = ASPrintf("%s:%s",user,pass);
+ urldb_set_auth_details(lw->url,lw->realm,userpass);
+ FreeVec(userpass);
+ browser_window_go(lw->bw,lw->url,0,true);
+
+ ami_401login_close(lw);
+}
Added: trunk/netsurf/amiga/login.h
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/login.h?rev=5222&vi...
==============================================================================
--- trunk/netsurf/amiga/login.h (added)
+++ trunk/netsurf/amiga/login.h Sat Aug 30 16:32:05 2008
@@ -1,0 +1,35 @@
+/*
+ * Copyright 2008 Chris Young <chris(a)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_LOGIN_H
+#define AMIGA_LOGIN_H
+struct gui_login_window {
+ struct Window *win;
+ Object *objects[OID_LAST];
+ struct Gadget *gadgets[GID_LAST];
+ struct nsObject *node;
+ ULONG pad[2];
+ struct browser_window *bw;
+ char *url;
+ char *realm;
+ char *host;
+};
+
+void ami_401login_close(struct gui_login_window *lw);
+void ami_401login_login(struct gui_login_window *lw);
+#endif
Propchange: trunk/netsurf/amiga/login.h
------------------------------------------------------------------------------
amiga:protection = ----rwed ---- ----
Propchange: trunk/netsurf/amiga/login.h
------------------------------------------------------------------------------
svn:executable = *
Modified: trunk/netsurf/amiga/object.h
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/object.h?rev=5222&r...
==============================================================================
--- trunk/netsurf/amiga/object.h (original)
+++ trunk/netsurf/amiga/object.h Sat Aug 30 16:32:05 2008
@@ -25,6 +25,7 @@
#define AMINS_WINDOW 1
#define AMINS_FRAME 2
#define AMINS_DLWINDOW 3
+#define AMINS_LOGINWINDOW 3
struct nsObject
{
15 years
r5221 chris_y - in /trunk/netsurf/amiga: gui.c gui.h plotters.c
by netsurf@semichrome.net
Author: chris_y
Date: Sat Aug 30 11:57:35 2008
New Revision: 5221
URL: http://source.netsurf-browser.org?rev=5221&view=rev
Log:
Added support for scaling bitmaps, filled polygons, filled circles and clipping.
Fixes major display issues with eg. www.bbc.co.uk amongst others.
Modified:
trunk/netsurf/amiga/gui.c
trunk/netsurf/amiga/gui.h
trunk/netsurf/amiga/plotters.c
Modified: trunk/netsurf/amiga/gui.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/gui.c?rev=5221&r1=5...
==============================================================================
--- trunk/netsurf/amiga/gui.c (original)
+++ trunk/netsurf/amiga/gui.c Sat Aug 30 11:57:35 2008
@@ -472,23 +472,55 @@
switch(subnum)
{
BPTR fh=0;
+ char fname[1024];
case 0:
- save_as_text(gwin->bw->current_content,"ram:ns_text");
- break;
-
- case 1:
- if(fh = FOpen("ram:ns_source",MODE_NEWFILE,0))
+ if(AslRequestTags(filereq,
+ ASLFR_TitleText,messages_get("NetSurf"),
+ ASLFR_Screen,scrn,
+ ASLFR_DoSaveMode,TRUE,
+ ASLFR_InitialFile,FilePart(gwin->bw->current_content->url),
+ TAG_DONE))
{
- FWrite(fh,gwin->bw->current_content->source_data,1,gwin->bw->current_content->source_size);
- FClose(fh);
+ strlcpy(&fname,filereq->fr_Drawer,1024);
+ AddPart(&fname,filereq->fr_File,1024);
+ save_as_text(gwin->bw->current_content,&fname);
}
break;
+ case 1:
+ if(AslRequestTags(filereq,
+ ASLFR_TitleText,messages_get("NetSurf"),
+ ASLFR_Screen,scrn,
+ ASLFR_DoSaveMode,TRUE,
+ ASLFR_InitialFile,FilePart(gwin->bw->current_content->url),
+ TAG_DONE))
+ {
+ strlcpy(&fname,filereq->fr_Drawer,1024);
+ AddPart(&fname,filereq->fr_File,1024);
+ if(fh = FOpen(&fname,MODE_NEWFILE,0))
+ {
+ FWrite(fh,gwin->bw->current_content->source_data,1,gwin->bw->current_content->source_size);
+ FClose(fh);
+ }
+ }
+ break;
+
case 2:
#ifdef WITH_PDF_EXPORT
- pdf_set_scale(DEFAULT_EXPORT_SCALE);
- save_as_pdf(gwin->bw->current_content,"ram:ns_pdf");
+ if(AslRequestTags(filereq,
+ ASLFR_TitleText,messages_get("NetSurf"),
+ ASLFR_Screen,scrn,
+ ASLFR_DoSaveMode,TRUE,
+ ASLFR_InitialFile,FilePart(gwin->bw->current_content->url),
+ TAG_DONE))
+ {
+ strlcpy(&fname,filereq->fr_Drawer,1024);
+ AddPart(&fname,filereq->fr_File,1024);
+ save_as_text(gwin->bw->current_content,&fname);
+ pdf_set_scale(DEFAULT_EXPORT_SCALE);
+ save_as_pdf(gwin->bw->current_content,&fname);
+ }
#endif
break;
}
@@ -927,6 +959,16 @@
gwin->rp.BitMap = gwin->bm;
SetDrMd(currp,BGBACKFILL);
+ gwin->layerinfo = NewLayerInfo();
+ gwin->rp.Layer = CreateUpfrontLayer(gwin->layerinfo,gwin->bm,0,0,scrn->Width-1,scrn->Height-1,0,NULL);
+
+ gwin->areabuf = AllocVec(100,MEMF_CLEAR);
+ gwin->rp.AreaInfo = AllocVec(sizeof(struct AreaInfo),MEMF_CLEAR);
+ InitArea(gwin->rp.AreaInfo,gwin->areabuf,100/5);
+ gwin->rp.TmpRas = AllocVec(sizeof(struct TmpRas),MEMF_CLEAR);
+ gwin->tmprasbuf = AllocVec(scrn->Width*scrn->Height,MEMF_CLEAR);
+ InitTmpRas(gwin->rp.TmpRas,gwin->tmprasbuf,scrn->Width*scrn->Height);
+
GetRPAttrs(&gwin->rp,RPTAG_Font,&origrpfont,TAG_DONE);
GetAttr(WINDOW_HorizObject,gwin->objects[OID_MAIN],(ULONG *)&gwin->objects[OID_HSCROLL]);
@@ -960,7 +1002,13 @@
void gui_window_destroy(struct gui_window *g)
{
DisposeObject(g->objects[OID_MAIN]);
+ DeleteLayer(0,g->rp.Layer);
+ DisposeLayerInfo(g->layerinfo);
p96FreeBitMap(g->bm);
+ FreeVec(g->rp.TmpRas);
+ FreeVec(g->rp.AreaInfo);
+ FreeVec(g->tmprasbuf);
+ FreeVec(g->areabuf);
DelObject(g->node);
// FreeVec(g); should be freed by DelObject()
@@ -981,7 +1029,7 @@
void gui_window_redraw(struct gui_window *g, int x0, int y0, int x1, int y1)
{
- DebugPrintF("REDRAW\n");
+// DebugPrintF("REDRAW\n");
}
void gui_window_redraw_window(struct gui_window *g)
@@ -1001,7 +1049,7 @@
GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],&hcurrent);
GetAttr(SCROLLER_Top,g->objects[OID_VSCROLL],&vcurrent);
- DebugPrintF("DOING REDRAW\n");
+// DebugPrintF("DOING REDRAW\n");
c = g->bw->current_content;
@@ -1049,16 +1097,17 @@
void ami_do_redraw(struct gui_window *g)
{
+ struct Region *reg = NULL;
+ struct Rectangle rect;
struct content *c;
ULONG hcurrent,vcurrent,xoffset,yoffset,width=800,height=600;
struct IBox *bbox;
- struct Region *region;
GetAttr(SPACE_AreaBox,g->gadgets[GID_BROWSER],(ULONG *)&bbox);
GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],&hcurrent);
GetAttr(SCROLLER_Top,g->objects[OID_VSCROLL],&vcurrent);
- DebugPrintF("DOING REDRAW\n");
+// DebugPrintF("DOING REDRAW\n");
c = g->bw->current_content;
@@ -1068,14 +1117,22 @@
current_redraw_browser = g->bw;
currp = &g->rp;
+
/*
- layerinfo = NewLayerInfo();
- layer = CreateLayer(layerinfo,LAYA_BitMap,g->bm,LAYA_StayTop,TRUE,
-LAYA_MinX,0,LAYA_MinY,0,LAYA_MaxX,1024,LAYA_MaxY,768,TAG_DONE);
- currp = layer->rp;
-// region = NewRegion();
-// InstallClipRegion(layer,region);
+ reg = NewRegion();
+
+ rect.MinX = 0;
+ rect.MinY = 0;
+ rect.MaxX = 1023;
+ rect.MaxY = 767;
+
+ OrRectRegion(reg,&rect);
+
+ InstallClipRegion(g->rp.Layer,reg);
*/
+
+// currp = g->rp.Layer->rp;
+
width=bbox->Width;
height=bbox->Height;
xoffset=bbox->Left;
@@ -1110,15 +1167,17 @@
current_redraw_browser = NULL;
currp = &dummyrp;
-/*
-// InstallClipRegion(layer,NULL);
-// DisposeRegion(region);
- DeleteLayer(0,layer);
- DisposeLayerInfo(layerinfo);
-*/
+
+
ami_update_buttons(g);
BltBitMapRastPort(g->bm,0,0,g->win->RPort,xoffset,yoffset,width,height,0x0C0);
+
+ reg = InstallClipRegion(g->rp.Layer,NULL);
+ if(reg) DisposeRegion(reg);
+
+// DeleteLayer(0,g->rp.Layer);
+/**/
g->redraw_required = false;
g->redraw_data = NULL;
@@ -1263,16 +1322,18 @@
void gui_window_new_content(struct gui_window *g)
{
- DebugPrintF("new content\n");
+// DebugPrintF("new content\n");
}
bool gui_window_scroll_start(struct gui_window *g)
{
+ DebugPrintF("scroll start\n");
}
bool gui_window_box_scroll_start(struct gui_window *g,
int x0, int y0, int x1, int y1)
{
+ DebugPrintF("box scroll start\n");
}
bool gui_window_frame_resize_start(struct gui_window *g)
@@ -1293,7 +1354,7 @@
const char *mime_type, struct fetch *fetch,
unsigned int total_size, struct gui_window *gui)
{
- char *fname = AllocVec(1024,MEMF_CLEAR);
+ char fname[1024];
struct gui_download_window *dw;
APTR va[3];
@@ -1304,8 +1365,8 @@
ASLFR_InitialFile,FilePart(url),
TAG_DONE))
{
- strlcpy(fname,filereq->fr_Drawer,1024);
- AddPart(fname,filereq->fr_File,1024);
+ strlcpy(&fname,filereq->fr_Drawer,1024);
+ AddPart(&fname,filereq->fr_File,1024);
}
else return NULL;
@@ -1318,7 +1379,7 @@
va[1] = dw->size;
va[2] = 0;
- if(!(dw->fh = FOpen(fname,MODE_NEWFILE,0)))
+ if(!(dw->fh = FOpen(&fname,MODE_NEWFILE,0)))
{
FreeVec(dw);
return NULL;
Modified: trunk/netsurf/amiga/gui.h
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/gui.h?rev=5221&r1=5...
==============================================================================
--- trunk/netsurf/amiga/gui.h (original)
+++ trunk/netsurf/amiga/gui.h Sat Aug 30 11:57:35 2008
@@ -55,7 +55,7 @@
Object *objects[OID_LAST];
struct Gadget *gadgets[GID_LAST];
struct nsObject *node;
- bool pad;
+ ULONG pad[2];
BPTR fh;
uint32 size;
uint32 downloaded;
@@ -67,9 +67,13 @@
struct Gadget *gadgets[GID_LAST];
struct nsObject *node;
bool redraw_required;
+ struct List *tab_bw_list;
struct browser_window *bw;
struct BitMap *bm;
struct RastPort rp;
+ struct Layer_Info *layerinfo;
+ APTR areabuf;
+ APTR tmprasbuf;
struct Hook scrollerhook;
struct Hook popuphook;
struct form_control *control;
@@ -80,9 +84,6 @@
int c_h;
};
-//struct gui_window *curwin;
struct RastPort *currp;
struct TextFont *origrpfont;
-struct Layer *layer;
-struct Layer_Info *layerinfo;
#endif
Modified: trunk/netsurf/amiga/plotters.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/plotters.c?rev=5221...
==============================================================================
--- trunk/netsurf/amiga/plotters.c (original)
+++ trunk/netsurf/amiga/plotters.c Sat Aug 30 11:57:35 2008
@@ -26,10 +26,7 @@
#include <graphics/rpattr.h>
#include <graphics/gfxmacros.h>
#include "amiga/utf8.h"
-
-#include <proto/exec.h> // for debugprintf only
-
-static clipx0=0,clipx1=0,clipy0=0,clipy1=0;
+#include <proto/layers.h>
#define PATT_DOT 0xAAAA
#define PATT_DASH 0xCCCC
@@ -50,24 +47,17 @@
ami_bitmap_tile,
NULL, //ami_group_start,
NULL, //ami_group_end,
- ami_flush, // optional
+ NULL, //ami_flush, // optional
ami_path,
true // option_knockout
};
bool ami_clg(colour c)
{
- DebugPrintF("clg %lx\n",c);
-
SetRPAttrs(currp,RPTAG_BPenColor,p96EncodeColor(RGBFB_A8B8G8R8,c),
TAG_DONE);
ClearScreen(currp);
-
-/*
- p96RectFill(currp,clipx0,clipy0,clipx1,clipy1,
- p96EncodeColor(RGBFB_A8B8G8R8,c));
-*/
return true;
}
@@ -75,8 +65,6 @@
bool ami_rectangle(int x0, int y0, int width, int height,
int line_width, colour c, bool dotted, bool dashed)
{
- DebugPrintF("rect\n");
-
currp->PenWidth = line_width;
currp->PenHeight = line_width;
@@ -102,8 +90,6 @@
bool ami_line(int x0, int y0, int x1, int y1, int width,
colour c, bool dotted, bool dashed)
{
- DebugPrintF("line\n");
-
currp->PenWidth = width;
currp->PenHeight = width;
@@ -128,24 +114,28 @@
int k;
ULONG cx,cy;
- DebugPrintF("poly\n");
+ //DebugPrintF("poly\n");
SetRPAttrs(currp,RPTAG_APenColor,p96EncodeColor(RGBFB_A8B8G8R8,fill),
- TAG_DONE);
-
- Move(currp,p[0],p[1]);
+ RPTAG_OPenColor,p96EncodeColor(RGBFB_A8B8G8R8,fill),
+ TAG_DONE);
+
+ AreaMove(currp,p[0],p[1]);
for(k=1;k<n;k++)
{
- Draw(currp,p[k*2],p[(k*2)+1]);
- }
+ AreaDraw(currp,p[k*2],p[(k*2)+1]);
+ }
+
+ AreaEnd(currp);
+ BNDRYOFF(currp);
return true;
}
bool ami_fill(int x0, int y0, int x1, int y1, colour c)
{
- DebugPrintF("fill %ld,%ld,%ld,%ld\n",x0,y0,x1,y1);
+ //DebugPrintF("fill %ld,%ld,%ld,%ld\n",x0,y0,x1,y1);
p96RectFill(currp,x0,y0,x1,y1,
p96EncodeColor(RGBFB_A8B8G8R8,c));
@@ -155,13 +145,24 @@
bool ami_clip(int x0, int y0, int x1, int y1)
{
-/* to do - need to actually clip to this region using layers.library */
-
- DebugPrintF("clip\n");
- clipx0=x0;
- clipy0=y0;
- clipx1=x1;
- clipy1=y1;
+ struct Region *reg = NULL;
+ struct Rectangle rect;
+
+ if(currp->Layer)
+ {
+ reg = NewRegion();
+
+ rect.MinX = x0;
+ rect.MinY = y0;
+ rect.MaxX = x1-1;
+ rect.MaxY = y1-1;
+
+ OrRectRegion(reg,&rect);
+
+ reg = InstallClipRegion(currp->Layer,reg);
+
+ if(reg) DisposeRegion(reg);
+ }
return true;
}
@@ -174,18 +175,22 @@
SetRPAttrs(currp,RPTAG_APenColor,p96EncodeColor(RGBFB_A8B8G8R8,c),
RPTAG_BPenColor,p96EncodeColor(RGBFB_A8B8G8R8,bg),
-// RPTAG_OPenColor,p96EncodeColor(RGBFB_A8B8G8R8,bg),
// RPTAG_Font,tfont,
TAG_DONE);
utf8_to_local_encoding(text,length,&buffer);
-// ami_utf8_to_any(text,length,&buffer);
if(!buffer) return true;
+/* Below function prints Unicode text direct to the RastPort.
+ * This is commented out due to lack of SDK which allows me to perform blits
+ * that respect the Alpha channel. The code below that (and above) convert to
+ * system default charset and write the text using graphics.library functions.
+ *
+ * ami_unicode_text(currp,text,length,style,x,y,c);
+ */
Move(currp,x,y);
Text(currp,buffer,strlen(buffer));
-// Text(currp,text,length);
ami_close_font(tfont);
ami_utf8_free(buffer);
@@ -195,24 +200,18 @@
bool ami_disc(int x, int y, int radius, colour c, bool filled)
{
- struct AreaInfo ai;
- APTR buf[10];
-
- DebugPrintF("disc\n");
-
- SetRPAttrs(currp,RPTAG_APenColor,p96EncodeColor(RGBFB_A8B8G8R8,c),
- TAG_DONE);
-
-/* see rkrm
+ SetRPAttrs(currp,RPTAG_APenColor,p96EncodeColor(RGBFB_A8B8G8R8,c),
+ TAG_DONE);
+
if(filled)
{
-// InitArea(&ai,&buf,2);
AreaCircle(currp,x,y,radius);
-// AreaEnd(currp);
- }
-*/
-
- DrawEllipse(currp,x,y,radius,radius); // NB: does not support fill, need to use AreaCircle for that
+ AreaEnd(currp);
+ }
+ else
+ {
+ DrawEllipse(currp,x,y,radius,radius); // NB: does not support fill, need to use AreaCircle for that
+ }
return true;
}
@@ -222,7 +221,12 @@
{
/* http://www.crbond.com/primitives.htm
CommonFuncsPPC.lha */
- DebugPrintF("arc\n");
+ //DebugPrintF("arc\n");
+
+ SetRPAttrs(currp,RPTAG_APenColor,p96EncodeColor(RGBFB_A8B8G8R8,c),
+ TAG_DONE);
+
+// DrawArc(currp,x,y,(float)angle1,(float)angle2,radius);
return true;
}
@@ -231,10 +235,6 @@
struct bitmap *bitmap, colour bg, struct content *content)
{
struct RenderInfo ri;
-
-DebugPrintF("bitmap plotter %ld %ld %ld %ld (%ld %ld)\n",x,y,width,height,bitmap->width,bitmap->height);
-
-/* needs to also scale */
// ami_fill(x,y,x+width,y+height,bg);
@@ -245,7 +245,39 @@
ri.BytesPerRow = bitmap->width * 4;
ri.RGBFormat = RGBFB_R8G8B8A8;
- p96WritePixelArray((struct RenderInfo *)&ri,0,0,currp,x,y,width,height);
+ if((bitmap->width != width) || (bitmap->height != height))
+ {
+ struct BitMap *tbm;
+ struct RastPort trp;
+ struct BitScaleArgs bsa;
+
+ tbm = p96AllocBitMap(bitmap->width,bitmap->height,32,0,currp->BitMap,RGBFB_R8G8B8A8);
+ InitRastPort(&trp);
+ trp.BitMap = tbm;
+ p96WritePixelArray((struct RenderInfo *)&ri,0,0,&trp,0,0,bitmap->width,bitmap->height);
+ bsa.bsa_SrcX = 0;
+ bsa.bsa_SrcY = 0;
+ bsa.bsa_SrcWidth = bitmap->width;
+ bsa.bsa_SrcHeight = bitmap->height;
+ bsa.bsa_DestX = x;
+ bsa.bsa_DestY = y;
+ bsa.bsa_DestWidth = width;
+ bsa.bsa_DestHeight = height;
+ bsa.bsa_XSrcFactor = bitmap->width;
+ bsa.bsa_XDestFactor = width;
+ bsa.bsa_YSrcFactor = bitmap->height;
+ bsa.bsa_YDestFactor = height;
+ bsa.bsa_SrcBitMap = tbm;
+ bsa.bsa_DestBitMap = currp->BitMap;
+ bsa.bsa_Flags = 0;
+
+ BitMapScale(&bsa);
+ p96FreeBitMap(tbm);
+ }
+ else
+ {
+ p96WritePixelArray((struct RenderInfo *)&ri,0,0,currp,x,y,width,height);
+ }
return true;
}
@@ -257,7 +289,7 @@
struct RenderInfo ri;
ULONG xf,yf,wf,hf;
-DebugPrintF("bitmap tile plotter\n");
+//DebugPrintF("bitmap tile plotter\n");
SetRPAttrs(currp,RPTAG_BPenColor,p96EncodeColor(RGBFB_A8B8G8R8,bg),
TAG_DONE);
@@ -292,7 +324,6 @@
hf=bitmap->height;
}
-//printf("%ld %ld %ld\n",xf,width,bitmap->width);
p96WritePixelArray((struct RenderInfo *)&ri,0,0,currp,x+xf,y+yf,wf,hf);
}
}
@@ -314,13 +345,13 @@
bool ami_flush(void)
{
- DebugPrintF("flush\n");
+ //DebugPrintF("flush\n");
return true;
}
bool ami_path(float *p, unsigned int n, colour fill, float width,
colour c, float *transform)
{
- DebugPrintF("path\n");
- return true;
-}
+/* Not implemented yet - unable to locate website which requires this plotter! */
+ return true;
+}
15 years
r5220 chris_y - in /trunk/netsurf/amiga: font.c font.h
by netsurf@semichrome.net
Author: chris_y
Date: Sat Aug 30 11:55:25 2008
New Revision: 5220
URL: http://source.netsurf-browser.org?rev=5220&view=rev
Log:
Experimental font code to plot Unicode text.
Modified:
trunk/netsurf/amiga/font.c
trunk/netsurf/amiga/font.h
Modified: trunk/netsurf/amiga/font.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/font.c?rev=5220&r1=...
==============================================================================
--- trunk/netsurf/amiga/font.c (original)
+++ trunk/netsurf/amiga/font.c Sat Aug 30 11:55:25 2008
@@ -27,6 +27,10 @@
#include "amiga/font.h"
#include "desktop/options.h"
#include "amiga/utf8.h"
+#include "utils/utf8.h"
+#include <diskfont/diskfonttag.h>
+#include <diskfont/oterrors.h>
+#include <proto/Picasso96API.h>
static bool nsfont_width(const struct css_style *style,
const char *string, size_t length,
@@ -170,31 +174,32 @@
struct TextFont *tfont;
struct TTextAttr tattr;
struct TagItem tattrtags[2];
+ char fontname[256];
switch(style->font_family)
{
case CSS_FONT_FAMILY_SANS_SERIF:
- tattr.tta_Name = option_font_sans;
+ strcpy(fontname,option_font_sans);
break;
case CSS_FONT_FAMILY_SERIF:
- tattr.tta_Name = option_font_serif;
+ strcpy(fontname,option_font_serif);
break;
case CSS_FONT_FAMILY_MONOSPACE:
- tattr.tta_Name = option_font_mono;
+ strcpy(fontname,option_font_mono);
break;
case CSS_FONT_FAMILY_CURSIVE:
- tattr.tta_Name = option_font_cursive;
+ strcpy(fontname,option_font_cursive);
break;
case CSS_FONT_FAMILY_FANTASY:
- tattr.tta_Name = option_font_fantasy;
- break;
-
- default:
- tattr.tta_Name = option_font_sans;
+ strcpy(fontname,option_font_fantasy);
+ break;
+
+ default:
+ strcpy(fontname,option_font_sans);
break;
}
@@ -248,6 +253,9 @@
tattr.tta_Tags = &tattrtags;
*/
+ strcat(fontname,".font");
+ tattr.tta_Name = fontname;
+
tfont = OpenDiskFont((struct TextAttr *)&tattr);
if(tfont)
@@ -257,7 +265,104 @@
TAG_DONE);
}
+// free(fontname);
+
return tfont;
+}
+
+struct OutlineFont *ami_open_outline_font(struct css_style *style)
+{
+ struct OutlineFont *ofont;
+ char *fontname;
+ WORD ysize;
+
+ switch(style->font_family)
+ {
+ case CSS_FONT_FAMILY_SANS_SERIF:
+ fontname = option_font_sans;
+ break;
+
+ case CSS_FONT_FAMILY_SERIF:
+ fontname = option_font_serif;
+ break;
+
+ case CSS_FONT_FAMILY_MONOSPACE:
+ fontname = option_font_mono;
+ break;
+
+ case CSS_FONT_FAMILY_CURSIVE:
+ fontname = option_font_cursive;
+ break;
+
+ case CSS_FONT_FAMILY_FANTASY:
+ fontname = option_font_fantasy;
+ break;
+
+ default:
+ fontname = option_font_sans;
+ break;
+ }
+
+ if(!(ofont = OpenOutlineFont(fontname,NULL,OFF_OPEN))) return NULL;
+
+/* not implemented yet
+ switch(style->font_style)
+ {
+ case CSS_FONT_STYLE_ITALIC:
+ tattr.tta_Style = FSB_ITALIC;
+ break;
+
+ case CSS_FONT_STYLE_OBLIQUE:
+ tattr.tta_Style = FSB_BOLD;
+ break;
+
+ default:
+ tattr.tta_Style = FS_NORMAL;
+ break;
+ }
+*/
+
+/* not supported
+ switch(style->font_variant)
+ {
+ default:
+ //printf("font variant: %ld\n",style->font_variant);
+ break;
+ }
+*/
+
+ switch(style->font_size.size)
+ {
+ case CSS_FONT_SIZE_LENGTH:
+ ysize = style->font_size.value.length.value;
+ break;
+ default:
+ printf("FONT SIZE TYPE: %ld\n",style->font_size.size);
+ break;
+ }
+
+ if(ysize < option_font_min_size)
+ ysize = option_font_min_size;
+
+ if(ESetInfo(&ofont->olf_EEngine,
+ OT_DeviceDPI,(72<<16) | 72,
+ OT_PointHeight,(ysize<<16),
+ TAG_END) == OTERR_Success)
+ {
+
+ }
+ else
+ {
+ CloseOutlineFont(ofont,NULL);
+ return NULL;
+ }
+
+ return ofont;
+}
+
+void ami_close_outline_font(struct OutlineFont *ofont)
+{
+ if(ofont) CloseOutlineFont(ofont,NULL);
}
void ami_close_font(struct TextFont *tfont)
@@ -268,3 +373,69 @@
if(tfont) CloseFont(tfont);
}
+
+void ami_unicode_text(struct RastPort *rp,char *string,ULONG length,struct css_style *style,ULONG x, ULONG y, ULONG c)
+{
+ WORD *utf16 = NULL;
+ struct OutlineFont *ofont;
+ struct GlyphMap *glyph;
+ ULONG i,gx,gy;
+ UBYTE *glyphbm;
+ UWORD posn;
+
+ if(!string || string[0]=='\0') return;
+ if(!length) return;
+
+ if(utf8_to_enc(string,"UTF-16",length,&utf16) != UTF8_CONVERT_OK) return;
+
+ if(!(ofont = ami_open_outline_font(style))) return;
+
+ for(i=0;i<length;i++)
+ {
+ if(ESetInfo(&ofont->olf_EEngine,
+ OT_GlyphCode,utf16[i],
+ TAG_END) == OTERR_Success)
+ {
+ if(EObtainInfo(&ofont->olf_EEngine,
+ OT_GlyphMap8Bit,&glyph,
+ TAG_END) == 0)
+ {
+ glyphbm = glyph->glm_BitMap;
+ if(!glyphbm) continue;
+
+ posn = 0; //(glyph->glm_BlackTop * glyph->glm_BMRows) + glyph->glm_BlackLeft;
+
+//printf("%ld %ld\n",glyph->glm_BlackHeight,glyph->glm_BlackWidth);
+
+ x+= glyph->glm_BlackLeft;
+
+ for(gy=0;gy<glyph->glm_BlackHeight;gy++)
+ {
+ for(gx=0;gx<glyph->glm_BlackWidth;gx++)
+ {
+/* This works... except it doesn't. Current public SDK doesn't have BltBitMapTags(),
+which is needed along with BLITA_UseSrcAlpha, TRUE to respect the alpha channel.
+We may even need to draw this text into a new bitmap and blit that onto our off-screen
+rendering bitmap. */
+ p96WritePixel(rp,x+gx,(y-glyph->glm_BlackHeight)+gy,
+ p96EncodeColor(RGBFB_A8B8G8R8,(glyphbm[posn+gx] << 24) | c));
+ }
+
+ posn+=glyph->glm_BMModulo;
+ }
+ x+= glyph->glm_BlackWidth;
+ //x+=(glyph->glm_Width >> 16);
+
+// printf("%ld: %ld\n",i,(glyph->glm_Width >> 16));
+
+ EReleaseInfo(&ofont->olf_EEngine,
+ OT_GlyphMap8Bit,glyph,
+ TAG_END);
+ }
+
+ }
+
+ }
+
+ ami_close_outline_font(ofont);
+}
Modified: trunk/netsurf/amiga/font.h
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/font.h?rev=5220&r1=...
==============================================================================
--- trunk/netsurf/amiga/font.h (original)
+++ trunk/netsurf/amiga/font.h Sat Aug 30 11:55:25 2008
@@ -24,5 +24,5 @@
struct TextFont *ami_open_font(struct css_style *);
void ami_close_font(struct TextFont *tfont);
-
+void ami_unicode_text(struct RastPort *rp,char *string,ULONG length,struct css_style *style,ULONG x,ULONG y,ULONG c);
#endif
15 years
r5219 chris_y - /trunk/netsurf/utils/utf8.c
by netsurf@semichrome.net
Author: chris_y
Date: Fri Aug 29 13:19:06 2008
New Revision: 5219
URL: http://source.netsurf-browser.org?rev=5219&view=rev
Log:
Removed some debug which was supposed to be temporary.
Modified:
trunk/netsurf/utils/utf8.c
Modified: trunk/netsurf/utils/utf8.c
URL: http://source.netsurf-browser.org/trunk/netsurf/utils/utf8.c?rev=5219&r1=...
==============================================================================
--- trunk/netsurf/utils/utf8.c (original)
+++ trunk/netsurf/utils/utf8.c Fri Aug 29 13:19:06 2008
@@ -346,10 +346,6 @@
/* perform conversion */
if (iconv(cd, &in, &slen, &out, &rlen) == (size_t)-1) {
-
- printf("Failed, errno == %d (%s)\n",
- errno, strerror(errno));
-
free(temp);
/* clear the cached conversion descriptor as it's invalid */
last_cd.from[0] = '\0';
15 years
r5218 tlsa - in /trunk/netsurfweb: about/ about/screenshots/ contact/ developers/ documentation/ downloads/ downloads/themes/ errors/ projects/ projects/hubbub/ projects/iconv/ projects/libdom/ projects/libpencil/ projects/libsvgtiny/ projects/rufl/ projects/tinct/ webmasters/ welcome/
by netsurf@semichrome.net
Author: tlsa
Date: Thu Aug 28 11:56:47 2008
New Revision: 5218
URL: http://source.netsurf-browser.org?rev=5218&view=rev
Log:
Add favicon to all pages.
Modified:
trunk/netsurfweb/about/awards.en
trunk/netsurfweb/about/index.en
trunk/netsurfweb/about/licence.en
trunk/netsurfweb/about/news.en
trunk/netsurfweb/about/screenshots/index.en
trunk/netsurfweb/about/team.en
trunk/netsurfweb/about/thanks.en
trunk/netsurfweb/contact/index.en
trunk/netsurfweb/developers/contribute.en
trunk/netsurfweb/developers/index.en
trunk/netsurfweb/developers/publicity.en
trunk/netsurfweb/documentation/develop.en
trunk/netsurfweb/documentation/guide.en
trunk/netsurfweb/documentation/index.en
trunk/netsurfweb/documentation/info.en
trunk/netsurfweb/documentation/nstheme.en
trunk/netsurfweb/documentation/progress.en
trunk/netsurfweb/documentation/robuild.en
trunk/netsurfweb/documentation/roinfo.en
trunk/netsurfweb/documentation/translations.en
trunk/netsurfweb/downloads/extras.en
trunk/netsurfweb/downloads/index.en
trunk/netsurfweb/downloads/packages.en
trunk/netsurfweb/downloads/source.en
trunk/netsurfweb/downloads/testbuilds.en
trunk/netsurfweb/downloads/themes/index.en
trunk/netsurfweb/errors/404.en
trunk/netsurfweb/projects/hubbub/index.en
trunk/netsurfweb/projects/iconv/index.en
trunk/netsurfweb/projects/index.en
trunk/netsurfweb/projects/libdom/index.en
trunk/netsurfweb/projects/libpencil/index.en
trunk/netsurfweb/projects/libsvgtiny/index.en
trunk/netsurfweb/projects/rufl/index.en
trunk/netsurfweb/projects/tinct/index.en
trunk/netsurfweb/webmasters/index.en
trunk/netsurfweb/welcome/index.en
Modified: trunk/netsurfweb/about/awards.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/about/awards.en?rev=52...
==============================================================================
--- trunk/netsurfweb/about/awards.en (original)
+++ trunk/netsurfweb/about/awards.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Awards</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/about/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/about/index.en?rev=521...
==============================================================================
--- trunk/netsurfweb/about/index.en (original)
+++ trunk/netsurfweb/about/index.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | About NetSurf</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/about/licence.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/about/licence.en?rev=5...
==============================================================================
--- trunk/netsurfweb/about/licence.en (original)
+++ trunk/netsurfweb/about/licence.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Licence</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/about/news.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/about/news.en?rev=5218...
==============================================================================
--- trunk/netsurfweb/about/news.en (original)
+++ trunk/netsurfweb/about/news.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | News</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/about/screenshots/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/about/screenshots/inde...
==============================================================================
--- trunk/netsurfweb/about/screenshots/index.en (original)
+++ trunk/netsurfweb/about/screenshots/index.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Screenshot Gallery</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/about/team.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/about/team.en?rev=5218...
==============================================================================
--- trunk/netsurfweb/about/team.en (original)
+++ trunk/netsurfweb/about/team.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Development Team</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/about/thanks.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/about/thanks.en?rev=52...
==============================================================================
--- trunk/netsurfweb/about/thanks.en (original)
+++ trunk/netsurfweb/about/thanks.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Thanks from the NetSurf Team!</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/contact/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/contact/index.en?rev=5...
==============================================================================
--- trunk/netsurfweb/contact/index.en (original)
+++ trunk/netsurfweb/contact/index.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Contacting the Developers</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/developers/contribute.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/developers/contribute....
==============================================================================
--- trunk/netsurfweb/developers/contribute.en (original)
+++ trunk/netsurfweb/developers/contribute.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Contribution Guide</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/developers/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/developers/index.en?re...
==============================================================================
--- trunk/netsurfweb/developers/index.en (original)
+++ trunk/netsurfweb/developers/index.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Developers and Contributors</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/developers/publicity.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/developers/publicity.e...
==============================================================================
--- trunk/netsurfweb/developers/publicity.en (original)
+++ trunk/netsurfweb/developers/publicity.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Publicity</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/documentation/develop.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/documentation/develop....
==============================================================================
--- trunk/netsurfweb/documentation/develop.en (original)
+++ trunk/netsurfweb/documentation/develop.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Developer Documentation</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/documentation/guide.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/documentation/guide.en...
==============================================================================
--- trunk/netsurfweb/documentation/guide.en (original)
+++ trunk/netsurfweb/documentation/guide.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | User Guide</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/documentation/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/documentation/index.en...
==============================================================================
--- trunk/netsurfweb/documentation/index.en (original)
+++ trunk/netsurfweb/documentation/index.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Documentation</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/documentation/info.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/documentation/info.en?...
==============================================================================
--- trunk/netsurfweb/documentation/info.en (original)
+++ trunk/netsurfweb/documentation/info.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | User Information</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/documentation/nstheme.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/documentation/nstheme....
==============================================================================
--- trunk/netsurfweb/documentation/nstheme.en (original)
+++ trunk/netsurfweb/documentation/nstheme.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | NSTheme Guide</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/documentation/progress.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/documentation/progress...
==============================================================================
--- trunk/netsurfweb/documentation/progress.en (original)
+++ trunk/netsurfweb/documentation/progress.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Development Progress</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/documentation/robuild.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/documentation/robuild....
==============================================================================
--- trunk/netsurfweb/documentation/robuild.en (original)
+++ trunk/netsurfweb/documentation/robuild.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Building on RISC OS</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/documentation/roinfo.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/documentation/roinfo.e...
==============================================================================
--- trunk/netsurfweb/documentation/roinfo.en (original)
+++ trunk/netsurfweb/documentation/roinfo.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | RISC OS User Information</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/documentation/translations.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/documentation/translat...
==============================================================================
--- trunk/netsurfweb/documentation/translations.en (original)
+++ trunk/netsurfweb/documentation/translations.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Producing Translations</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/downloads/extras.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/downloads/extras.en?re...
==============================================================================
--- trunk/netsurfweb/downloads/extras.en (original)
+++ trunk/netsurfweb/downloads/extras.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Extras</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/downloads/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/downloads/index.en?rev...
==============================================================================
--- trunk/netsurfweb/downloads/index.en (original)
+++ trunk/netsurfweb/downloads/index.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Downloads</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/downloads/packages.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/downloads/packages.en?...
==============================================================================
--- trunk/netsurfweb/downloads/packages.en (original)
+++ trunk/netsurfweb/downloads/packages.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Packages</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/downloads/source.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/downloads/source.en?re...
==============================================================================
--- trunk/netsurfweb/downloads/source.en (original)
+++ trunk/netsurfweb/downloads/source.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Source Code</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/downloads/testbuilds.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/downloads/testbuilds.e...
==============================================================================
--- trunk/netsurfweb/downloads/testbuilds.en (original)
+++ trunk/netsurfweb/downloads/testbuilds.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | RISC OS Development Builds</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/downloads/themes/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/downloads/themes/index...
==============================================================================
--- trunk/netsurfweb/downloads/themes/index.en (original)
+++ trunk/netsurfweb/downloads/themes/index.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Themes</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/errors/404.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/errors/404.en?rev=5218...
==============================================================================
--- trunk/netsurfweb/errors/404.en (original)
+++ trunk/netsurfweb/errors/404.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | 404 Error</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/projects/hubbub/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/projects/hubbub/index....
==============================================================================
--- trunk/netsurfweb/projects/hubbub/index.en (original)
+++ trunk/netsurfweb/projects/hubbub/index.en Thu Aug 28 11:56:47 2008
@@ -4,6 +4,7 @@
<head>
<title>Hubbub | HTML Parsing Library</title>
<link rel="stylesheet" type="text/css" href="/projects/projects.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/projects/iconv/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/projects/iconv/index.e...
==============================================================================
--- trunk/netsurfweb/projects/iconv/index.en (original)
+++ trunk/netsurfweb/projects/iconv/index.en Thu Aug 28 11:56:47 2008
@@ -4,6 +4,7 @@
<head>
<title>Iconv for RISC OS</title>
<link rel="stylesheet" type="text/css" href="/projects/projects.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/projects/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/projects/index.en?rev=...
==============================================================================
--- trunk/netsurfweb/projects/index.en (original)
+++ trunk/netsurfweb/projects/index.en Thu Aug 28 11:56:47 2008
@@ -4,6 +4,7 @@
<head>
<title>Projects</title>
<link rel="stylesheet" type="text/css" href="projects.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/projects/libdom/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/projects/libdom/index....
==============================================================================
--- trunk/netsurfweb/projects/libdom/index.en (original)
+++ trunk/netsurfweb/projects/libdom/index.en Thu Aug 28 11:56:47 2008
@@ -4,6 +4,7 @@
<head>
<title>Libdom | DOM Library</title>
<link rel="stylesheet" type="text/css" href="/projects/projects.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/projects/libpencil/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/projects/libpencil/ind...
==============================================================================
--- trunk/netsurfweb/projects/libpencil/index.en (original)
+++ trunk/netsurfweb/projects/libpencil/index.en Thu Aug 28 11:56:47 2008
@@ -4,6 +4,7 @@
<head>
<title>Libpencil | Drawfile export library</title>
<link rel="stylesheet" type="text/css" href="/projects/projects.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/projects/libsvgtiny/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/projects/libsvgtiny/in...
==============================================================================
--- trunk/netsurfweb/projects/libsvgtiny/index.en (original)
+++ trunk/netsurfweb/projects/libsvgtiny/index.en Thu Aug 28 11:56:47 2008
@@ -4,6 +4,7 @@
<head>
<title>Libsvgtiny | SVG Tiny Library</title>
<link rel="stylesheet" type="text/css" href="/projects/projects.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/projects/rufl/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/projects/rufl/index.en...
==============================================================================
--- trunk/netsurfweb/projects/rufl/index.en (original)
+++ trunk/netsurfweb/projects/rufl/index.en Thu Aug 28 11:56:47 2008
@@ -4,6 +4,7 @@
<head>
<title>RUfl for RISC OS</title>
<link rel="stylesheet" type="text/css" href="/projects/projects.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/projects/tinct/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/projects/tinct/index.e...
==============================================================================
--- trunk/netsurfweb/projects/tinct/index.en (original)
+++ trunk/netsurfweb/projects/tinct/index.en Thu Aug 28 11:56:47 2008
@@ -4,6 +4,7 @@
<head>
<title>Tinct for RISC OS</title>
<link rel="stylesheet" type="text/css" href="/projects/projects.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/webmasters/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/webmasters/index.en?re...
==============================================================================
--- trunk/netsurfweb/webmasters/index.en (original)
+++ trunk/netsurfweb/webmasters/index.en Thu Aug 28 11:56:47 2008
@@ -3,7 +3,8 @@
<html>
<head>
<title>NetSurf | Webmaster Area</title>
-<link rel="stylesheet" title="Standard" type="text/css" href="/netsurf.css">
+<link rel="stylesheet" type="text/css" href="/netsurf.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
Modified: trunk/netsurfweb/welcome/index.en
URL: http://source.netsurf-browser.org/trunk/netsurfweb/welcome/index.en?rev=5...
==============================================================================
--- trunk/netsurfweb/welcome/index.en (original)
+++ trunk/netsurfweb/welcome/index.en Thu Aug 28 11:56:47 2008
@@ -3,6 +3,7 @@
<head>
<title>Welcome to NetSurf</title>
<style type="text/css">html,body{margin:0;padding:0;}body{color:#000;background:#fff;font-family:sans-serif;margin:0 auto;}a:link{text-decoration:underline;color:#00f;}a:visited{text-decoration:underline;color:#60a;}a:hover{text-decoration:none;}a:active{text-decoration:underline;color:#f00;}.banner{margin:0;padding:0;background:#94adff;text-align:left;}.banner img{border:none;color:#000;height:86px;width:308px;display:block;}.onlycontent{margin:0 1em;}.nslinks{display:table;width:100%;margin:0;border-spacing:0;padding:0;background:#ccd8ff;font-size:94%;}.nslinks li{display:table-cell;text-align:center;padding:0.2em 0.3em 0.3em;vertical-align:middle;}.nslinks li+li{border-left:2px solid #b1c3ff;}.version{padding:0;margin:1.2em auto 0;width:90%;color:#444;font-size:160%;}.intro{width: 90%;margin:1em auto;color:#666;}.websearch{margin:1.5em auto;padding:1.2em 0.3em;background:#d8e2ff;border:2px solid #c5d3ff;width:80%;text-align:center;}input[type=text]{border:2px solid #b6c7ff;background:#f9faff;color:#000;margin:2px;}input[type=submit]{border:2px outset #cedaff;color:#000;background:#cedaff;margin:2px;}.links{display:table;width:80%;margin:0 auto 3em;font-size:94%;}.links ul{display:table-cell;padding-left:2.5em;}.links ul+ul{padding-left:1em;}.footer{font-style:italic;text-align:right;}.footer p{margin-top:1.5em;padding-top:0.4em;border-top:2px solid #94adff;}</style>
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
</head>
<body>
15 years