Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
Elijahlorden

StattenOS - Base control system

Recommended Posts

I have gotten quite a bit of groundwork done.  I am currently working on the first implementation of the page drawing code.  I have decided not to use any sort double-buffering, as I don't like the high memory overhead.  Instead, only portions of the page which change will be re-drawn.

An early look at what I have done so far.  Just a few nested frames.  This already supports occlusion culling (portions of controls which are outside of their parent viewport are removed), so controls like the ListView and ScrollFrame can be implemented easily.

image.thumb.png.a23ea57b6fcf9feabefdc1fdb9da4268.png

Pages can either be loaded from XML, or created programmatically.  This is the XML file used in the above image:

<documentname>TestDocument</documentname>

<page tier="3"> <!-- This is the root of the page DOM -->
	<frame id="f1" pos="1,1" size="40,10" text="High-resolution page" fcolor="00FF00" textcolor = "FFFF00"/>
	<frame id="f2" pos="1,11" size="40,10" text="With text"/>
	<frame id="f3" pos="50,2" size="40,10" text="With colored text" textcolor = "00FF00" fcolor="FF0000"/>
	<frame id="f4" text="Nesting" pos="10,29" size="60,20" textcolor = "BBBBBB">
		<frame id="f4" pos="2,2" size="40,10" text="Nested" textcolor="00FF00">
			<frame pos="2,2" size="5,5"/>
		</frame>
		
	</frame>
</page>

<!-- If multiple pages exist, the one closest to the current resolution will be used -->
<page tier="2">
	<frame id="f1" pos="1,1" size="30,30" text="Low-resolution page" textcolor="FF0000" fcolor="AAAAAA"/>
</page>

This is a very barebones XML implementation, only meant to provide a structure for pages.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.