Tuesday, October 09, 2007

Update

Last week I spent alot of time coding because I was on vacation from work. This week however I am back at work which explains why the lack of coding. I have however tried to squeeze some time out of my day for some programming on Screens. I have finished the fill part of the rectangle class, so I can fill the screen with rectangle fills. Things are moving...

Friday, October 05, 2007

Update

Things are progressing very nice. I have already finished the Shape component which deals with caching drawing to the display. It allows the windows and controls to be detailed objects while not reducing the performance of drawing to the display. This model allows to have transparency with a single off-screen buffer without requiring a seperate off-screen buffer for each window. This makes windows much cheaper in memory requirements.

Thursday, October 04, 2007

Practice makes perfect

Practice is realy the way to make something perfect. I have rewitten the object storage so many times improving over the previous when I hit a wall since it was easier to rewrite the entire code, then patch the previous design. I did not expect to write over 20 times the same object storage but I guess thats what I needed... Pratice. And yes, I have done it again... I have rewritten the code again but wait... here's why: 1. Objects only understood streams While it was nice on design, it did not work out in usage. I had to make alot of wrapper functions that would take a structure and break it down into values and it required alot of the same code to get to the data. It felt like alot of the code was just to talk between C and my object storage. 2. The alpha was recieved well, but it was hacked a bit together I sent an alpha to some of my Windows Live (MSN) users (zhamilton1@yahoo.co.uk if you want to join) and while it showed of windoing, it was very fixed and very quickly I found the problems when trying to do something simple as making a button class. The whole idea of the object storage was to make things easier not harder. Thanks to the users who tested the alpha. But dont worry, this post is already after I have written the new object storage and I am very near the alpha demo stage that I was on the previous version. I have already used the new design and its so much nicer. Let's say I have the windows structure MSG. And I want to send it to all listeners so they can act on the message. Before hand I would have to break the parameters into a string and then each listener had to repack the structure. Alot of work for nothing. The new code is like this (without error checking): object Core, Message; MSG * WinEvent; /* Retrieves the event core */ Core = EventCore(); /* Creates a message object */ Message = ObjectNew(Core, 0); /* Add the windows message structure to the object */ ObjectAdd(Message, MSG); /* Retrieve the windows message structure from the object */ WinEvent = ObjectCast(Message, MSG); /* Fill the win32 message */ if(!GetMessage( WinEvent, NULL, 0, 0 )) { return false; /* exit the application */ } /* Send the message to all event core listeners */ ObjectSend(Core, Method_EventDispatch, Message); When a listener recieves the message it just does this: MSG * WinEvent; WinEvent = ObjectCast(Message, MSG); You can see that the code is readable and clean. I will get back to the previous status of the moving windows and buttons and I will give some of you a version for feedback. Thanks

Friday, September 28, 2007

Update

I know of the disappointment... so... I spent all last night and this morning coding like crazy and finally I can actually display movable layers and draw fills and frames on them. The window class is nearly complete. I need to finish the drawing of the title and the window borders. Note that the font engine is not implemented, so I wont be seeing any text displayed any time soon but I will get the UI up and going in every other sense. All the code is done on windows, however there are a very few key files that need to be rewritten for the entire code to work on PalmOS. Most of the logic is platform independent so I know that the way it looks on my computer, it will look on my handheld. The drawing model is simple. I first send an 'update' message to all elements which they draw themselves onto thier layers and then I send a 'draw' message which layers respond to which they draw themselves on the display. I know its not much, but its the best I can do so far.

Thursday, September 27, 2007

Update

Hi, Sorry for the lack of updates... I am still working on Screens but I just did not have anything to say. I dont think that 'still working' posts are needed. Screens Environment development is realy moving forward but painfully slow. I feel that the time I have something to release, no one will be interested in it. While the object storage is fine so far, I am now working on the graphical user interface stuff like drawing shapes to the screen. It has been nice to do all different drawing designs and test them very easily. I need to think of a concrete model before I can move forward to the window & control classes. You might say great you are nearly there, but that is so untrue. There is so much to do... ok... enough of that. To be more informational, I am working very hard on the drawing model to be fast and easy to use. I hope some spark will arrive and I will able to tell you that I am working on the window stuff, but so far... nothing. The performance is nice so far, it was worth the rewrite just to see that the object storage is not tied to a file but works rather by periodically syncronizing the objects to a file. This gives great performance increases and I will see it mostly when moving a window around the screen. About the forum, I dont think I should do that untill I have something to show you all which will last more than a week. Also I did not solve the problem with concrete objects, so you wont be seeing that feature anytime soon in the object storage. In fact, the multi-tasking side of Screens is not implemented yet. So, what is? Not much... basicly the object storage.

Thursday, August 23, 2007

Change Computer - Change Luck

I bought my first computer a few weeks ago running Vista Premium on a HP Pavilion a6130 with a 2GB ram upgrade. Its a very beautiful computer which I am very happy with. It explains the lack of Screens online activity. I cannot even sync my lifedrive let alone I have not even installed Eclipse yet. This does not mean that Screens is dead. I am still spending time on it. Sometimes I just dont post anything, I dont have much to say apart from work in progress which I dont think interests you much. Its been 5 years since I started working on the project on 8/8/2002 and while the release has gone no-where, alot has changed. I have a great family with my son already a year old... I have a great job which I actually got from all the knowledge I gained from Screens and things are great. I always hope I can post more happy news for Screens but so far, I dont know when that will happen...