Re: [Fresco-devel] Newbie confusion

Tobias Hunger <[email protected]>
Newsgroups gmane.comp.video.fresco.devel
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Saturday 23 November 2002 07:46, M. Evans wrote:
> > Our client level API is more along the lines of
> > "put some buttons in an hbox, and tell me when they get clicked".
>
> which to me describes very definite widgets!  These contradictory
> statements have me confused.

We do not really have the term widget in Fresco and use it mostly to make 
people feel not totally lost in Fresco without anything but the terms client 
and server to remind them of their X-windows based homeland:-)

We do have a WidgetKit. But that does not really create widgets as you know 
them from X but graphics like all the other Kits do to. A graphic can be 
anything as simple as a line or glyph (one or more letters forming a visual 
entity), a rectangle, a frame or just some 'space' around some other graphic.

You can combine these "simple" graphics to form more complex objects. A window 
is just another graphic made up of one graphic containing the titlebar 
(formed by of some graphics descibing letters, rectangles, images, ...) one 
graphic for the complete GUI of the application (again usually made up by a 
tree of other graphics that the developer of the application has build up) 
and a buttombar graphic (rectangles, frames, ... again).

A widget is just another graphic. A button for example contains a rectangle, 
some frame (the beleveled edge of the button) and a controller (a 'invisible' 
graphic wrapped around other graphics that can react to events) that triggers 
a command on a mouse-button click.

If you don't like our buttons, you will either just plug in a new 
implementation of the widgetKit which is used to generate buttons. Then your 
button must use the interface describing a button that we provide. Or you can 
roll your own by combining more primitive graphics (lines, etc.) yourself. In 
both cases there's little need to inherite from our code.

> My understanding of Fresco, based on the intros, was that
>
> - it offers a vector-based drawing model that can be rendered into
> actual pixels by different back ends like GGI or SDL

Leave out the "into actual pixels by different back ends like GGI or SDL" and 
you are closer. Fresco internally uses a completly device independent format 
to describe all graphics. That it usually outputs to pixels is a 
implementation detail: It can just as well render to OpenGL or Postscript. 
Feel free to add PDF too... That all these ultimately get turned into pixels 
is something Fresco does not need to know or care about.

> - this drawing model can build/manage windows as well as widgets

The drawing model has no concept of windows or widgets. It just arranges 
graphics.

> - widgets can be embedded within other widgets or graphic elements

Graphics can consist of other graphics.

> - window contents are transformable/scalable by virtue of vectors

Graphics can be arbitrarily transformed.

> - Fresco can bypass X (but doesn't have to)

The Fresco server has no concept of wether it runs in X or not. SDL, GGI or 
whatever encapsulate that detail.

> - Fresco is still in alpha, no first release yet (??)

We had several releases allready, the latest announced on freshmeat just 
yesterday. Of course we are in alpha stage even in spite of that.


Forget about windows, widgets, etc. There are only Graphics. Not 
distinguishing between widgets, windows and arbitrary geometric constructs 
make the whole programming environment so much cleaner and easier!

- -- 
Gruss,
Tobias

- ------------------------------------------------------------
Tobias Hunger           The box said: 'Windows 95 or better'
[email protected]                      So I installed Linux.
- ------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE933+9v0FZW3NyoqURAoLmAKCaRO5pFJUp0zG4o1NYvnyrCk6YKACgpiBN
2MxqBG3e82w8qAuUFNQLzAM=
=NMAI
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.