[Oberon] Moin and Oberon browsers
John Drake
jmdrake_98 at yahoo.com
Thu Jul 22 05:19:40 CEST 2004
--- edgar at edgarschwarz.de wrote:
> Hi,
> after making PNPImages for Aos Oberon I finally
> installed WebNavigator.
> I says it understands CSS, which is used for moin.
> OTOH I don't see
> the PNG images which I see with the standard Oberon
> browser.
> The standard browser doesn't understand <div> so the
> layout is bad.
> And John Drake mentioned that it's better with
> forms.
> So it seems that there should be a merge.
> My question now is which browser is ETH using ?
> Mozilla, IE ?
> And which of the existing Oberon browsers would be
> the better foundation to
> add missing features ?
>
> Cheers, Edgar
I can get WebNavigator to show PNG pictures now.
The problem is that WebNavigator uses the "Pictures"
subsystem as opposed to Images. And least that's
what I seem to pick up from experiments. If you
open an HTML document containing a Gif using the
default browser module GIFImages gets loaded. If
you use WebNavigator module GIF gets loaded. I
wrote a module PNGPictures to fix this. It loads
module es.PNGImages. PNGImages has to be changed
to make module "Load" visible. Also
PNGPictures.InitPicture must be added to the
PictConverters section of Oberon.Text.
As far as which browser would be better to update,
I'm not sure. I've sometimes thought about using
the HTML4 parser in WebNavigator and combined with
the "LayLa" layout language to implement a "panels"
type browser. But perhaps the most straightforward
thing would be to add the required elements for
WebNavigator to process forms. (Buttons and
checkboxes would be easy. Text boxes and Text
areas would be a bit challenging.) Alternately
I wonder what it would take to build a browser
in BlueBottle itself. The XML user interface
(which I still need to learn) supports CSS (I
think?) So it shouldn't be terribly hard to
get it to support XHTML with CSS.
Anyway here's the code for PNGPictures. (I would
have uploaded it to the WebDav but it doesn't seem
to be working today).
MODULE PNGPictures;
IMPORT
PNGImages, Objects, Pictures, Images, Files,
PictImages;
PROCEDURE Handle*(obj: Objects.Object; VAR M:
Objects.ObjMsg);
VAR
name : ARRAY 256 OF CHAR;
img : Images.Image;
done : BOOLEAN;
BEGIN
WITH obj: Pictures.Picture DO
IF M IS Objects.AttrMsg THEN
WITH M: Objects.AttrMsg DO
IF (M.id = Objects.get) & (M.name = "Gen")
THEN
M.class := Objects.String; M.s :=
"Pictures.NewPicture"; M.res := 0
END;
END;
ELSIF M IS Objects.FileMsg THEN
WITH M: Objects.FileMsg DO
IF M.id = Objects.load THEN
obj.depth := 0;
Files.GetName(Files.Base(M.R), name);
NEW(img);
PNGImages.Load(img, name, done);
PictImages.ImageToPict(img, obj);
IF obj.depth = 0 THEN
M.len := 0
ELSE
M.len := Files.Length(Files.Base(M.R))
END
ELSE
Pictures.Handle(obj, M)
END
END
ELSE
Pictures.Handle(obj, M)
END
END
END Handle;
PROCEDURE InitPicture*;
BEGIN
Objects.NewObj.handle := Handle;
END InitPicture;
END PNGPictures.
Regards,
John M. Drake
__________________________________
Do you Yahoo!?
Vote for the stars of Yahoo!'s next ad campaign!
http://advision.webevents.yahoo.com/yahoo/votelifeengine/
More information about the Oberon
mailing list