The first beta release has been pushed out the door today. You will find that in this release I have added a couple of packages as well to help install it in lazarus IDE. The packages will install the component in the Misc tab of your component palette and will add a couple of TActions to help manage the visual part of your designer.
The packages are divided to run time package and design time, open the graphRTM package first and compile it, then open the GraphDSGN package compile it and then install it. ... read more
In the repo I have committed some minor updates for the canvas it seems that line, lineto, moveto where not overridden to translate the coordinates so it caused a number of problems in one of my tests. Now everything seems to work as expected. I'll upload a new file in the pre_release section later this week.
I have cleaned up the code a lot after the implementation of a canvas that support some short of world transformation. Now instead of each object asking the owner to translate the coordinates before painting and then feeding them to the canvas methods the owner sets offset and scaling transformation data to the canvas and the objects continue working in their own little world of coordinates as if nothing has changed. ... read more
I was thinking the past few days that the code as it stands now is full of land mines. As it is adding support for printing it will be a pain in the behind to many places to look to many objects to test and every single one of them has been modified to be aware of the simplegraph state. So I tried to find a way to clean the mess up but lazarus in all its glory does not allow me to plan a path where the main component will set the parameters as needed and the nodes will go on and paint them self with out any knowledge of the parents state, the main culprit is the fact that lazarus does not support world coordinates in its controls so the client Rect has always the coordinates of (0, 0, width, height) this forces the nodes to be aware of the parents scrollbar position in order to paint them at the correct coordinates on screen, so the question becomes, can we do anything to avoid this mess?... read more
I realized that I am burdening the lazarus forums with various announcements so I'll stop and start this blog to keep all my announcements in a single place this way I will not be kicked out the forums for excessive posting.
As a start let me say that there are a couple of 3rd party controls converted to lazarus in the process of converting simplegraph and all those are to be found in the 3rd party folder in the GIT repository. The latest control is a ruler component to show along side the designer in order to create a more complete look and feel. It is in the first alpha state and I'll try to finish it in the next days but since it works well enough to be used in the demos I might over look the small discrepancies. ... read more