|
From: Creighton K. <cki...@ho...> - 2002-02-12 20:55:24
|
Okay I think we are getting a head of our selves. Jason and I are going to get together this weekend and hash some of the architecture out for the major components. What Jason is trying to describe is a method for representing graphical components on the screen and then translating them to real text format in this case HTML. Below is the basic functions a browser has to do to display a page (our gui will have to do similar). 1. Reads in the HTML/JavaScript 2. Parse it into an object tree (in java this is an object the implements the Document interface) 3. It then figures out how big the display area is. (Window size or size of largest non-wrappable item i.e. a table or image) 4. Traverses the tree deciding where line returns need to go for word wrapping. (Realize that during this it is essentially breaking the document into display lines) 4a. Each line must know its height (this is the height of the tallest element in the line) 6. Then the document is drawn line by line moving down the line height before it draws the next one. Each element renders its self and then its children. A table is in a line however it may have the same steps mentioned above playing out in each cell. This is a very simplistic view. In reality there is a lot of optimization that goes into this to do what I suggest in as few passes of the data as needed. I have been looking at code of different browsers and graphical editors. P.S. In my last message I included a file with the fix to the about box problem. Simply take that file and replace the bad one with it. Creighton Kirkendall -----Original Message----- From: Javier Nievas [mailto:jav...@ya...] Sent: Tuesday, February 12, 2002 3:24 PM To: DynAPI IDE Subject: Re: [Dynapyide-developer] Creating a foundation > * Array of Objects - images, tables, text, ...; this will be objects > compiled into HTML > * Array of ObjectPositions - matching array that give relative positioning > of objects above; > * Array of Events - responses to events on the layer level (mouse clicks, > mouse over, ...) > * Position - Absolute position of layer on base layer > * Size - height and width of layer > * Background Color - color of layer (may be clear, i think) I don't understand the first and second array, What are you thinking about? What's an image or a table? (I know what are them... but, Why are you considering them as objects "inside" a layer?) And, I don't understand why are you putting an array for object positions, that "objects" you mention don't have an absolute position... I think, we should have an array of child layers and add a HTML_Content property Well, I'm not a great programmer... but I just don't understand that, maybe it is an stupid question... ----- Original Message ----- From: "DeWeese, Jason" <jde...@ba...> To: "DynAPI IDE Developers (E-mail)" <dyn...@li...> Sent: Tuesday, February 12, 2002 8:51 PM Subject: [Dynapyide-developer] Creating a foundation > All - > > To start we need to create an abstract java interface that > encapsulates what a layer contains on the most basic level. > > > Layer - abstract interface representation of a dynAPI layer > ----------- > * Array of Objects - images, tables, text, ...; this will be objects > compiled into HTML > * Array of ObjectPositions - matching array that give relative positioning > of objects above; > * Array of Events - responses to events on the layer level (mouse clicks, > mouse over, ...) > * Position - Absolute position of layer on base layer > * Size - height and width of layer > * Background Color - color of layer (may be clear, i think) > > > These are the properties handled by the dynAPI we are using as our > core. There might be more, but I think these are the bare minimums. If we > come to an agreement early on the basics, we will have a good start. > > Unrelated to the previous here is some code for a basic system file > viewer I created. It is far from finished, it has some resizing issue and > no real funtionality. We could eventually use it as a part of a project > viewer. > > <<JFileTree.java>> <<FileTree.java>> > > > > ---------------------------------------------------------------------------- ---- > > _______________________________________________ > Dynapyide-developer mailing list > Dyn...@li... > https://lists.sourceforge.net/lists/listinfo/dynapyide-developer _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com _______________________________________________ Dynapyide-developer mailing list Dyn...@li... https://lists.sourceforge.net/lists/listinfo/dynapyide-developer |