SimDesignerCanvas Control v1.5 Available

What kind of printing would you like to see implemented? Standard/landscape printing? Fit to page print?

Matthew,

Probably all that is needed is a parameter to scale the canvas contents to the required DPI. The user would decide at what X, Y position on the page to print.

Cheers
Grant

[quote=84095:@Grant Singleton]Matthew,

Probably all that is needed is a parameter to scale the canvas contents to the required DPI. The user would decide at what X, Y position on the page to print.

Cheers
Grant[/quote]

I would be glad to work on getting that implemented tomorrow :slight_smile: if you have any other ideas of features to make a user’s life easier, would be glad to hear.

[quote=84095:@Grant Singleton]Matthew,

Probably all that is needed is a parameter to scale the canvas contents to the required DPI. The user would decide at what X, Y position on the page to print.

Cheers
Grant[/quote]

As you wished, I implemented automatic Print handling with a single function, capable of performing 3 different operations…
It’s been integrated into a new compilation of the demo application source at:

http://www.xojodevspot.com/demos/SimDesignerCanvas.zip

For those who’ve purchased the encrypted source, you can simply pull the “SimPrintDesigner” module (Copy) out of the demo project and (Paste) put it into any project containing your licensed version of SimDesignerCanvas, and it will automatically assume the same license. The unencrypted license holders will receive a link to obtain the module source via email.

To Set the Printer resolution (I’ve defaulted it to 600 DPI from Xojo’s native 72 DPI):

Example: Set the resolution to 600x600 DPI

SimPrintDesigner.PrinterHorizontalResolution = 600 SimPrintDesigner.PrinterVerticalResolution = 600

The Print Function:

PrintPage(Canvas as SimDesignerCanvas, Top as Integer, Left as Integer, Optional ScalePercentage as Integer, Optional StretchToFit as Boolean = False)

Example Usage:
Print SimDesignerCanvas at X,Y with no regard of sizing. No DPI Scaling, everything is FULLSCALE (may go outside paper bounds)

PrintPage(Designer,0,0)

Print SimDesignerCanvas at X,Y proportionately scaled; AutoHandles DPI

PrintPage(Designer,0,0,50)  ' 50% scale print

Print SimDesignerCanvas at X,Y “Scaled to Fit Page”; AutoHandles DPI

PrintPage(Designer,0,0,0,True)

Matthew,

Where do you tell PrintPage the context of where you want to print it to? Are you assuming the default printer? If so that’s no good.

e.g. When you use OpenPrinterDialog() you are returned a Graphics object.

I was expecting maybe something like this:

[code]dim g as Graphics

g = OpenPrinterDialog(Nil)
mySimDesignerCanvas.Print(g, x, y, scale)[/code]

What do you think?

Cheers
Grant

Matthew,

A more appropriate solution is to use existing Xojo method names that do the same thing e.g

SimDesignerCanvas.DrawInto(g as Graphics, x as Integer, y as Integer)

which is similar to:

Window.DrawInto(g as Graphics, x as Integer, y as Integer)

Cheers
Grant

[quote=83997:@Matthew Combatti]SimDesignerCanvas Control Version 1.2 is available and I have greatly reduced all XDS Store item prices (30%-50% off) from today until May 6th, 2014. All updates for 1 year, priority bug fix and support, see additional licensing explained in the demo application if you are unsure.

Academic/Non-Profit (Encrypted) - $20.00 USD

Commercial (Encrypted) - $50.00 USD

Commercial (FULL SOURCE - Unencrypted) - $110.00 USD

Latest Demo : http://www.xojodevspot.com/demos/SimDesignerCanvas.zip[/quote]

Matthew,

Congratulations, is very helpful control, I’ll check it and want to buy it, I just wondering, I’d a control to sale and I would sale on xojodevspot, Do you can give me a thought about your experience with xojodevspot? A private message would be better, for not the hijack the thread…

Best.

I’ve updated the SimDesignerCanvas Control Demo with v1.3 and it contains a few of the custom controls I’ve been working on for “demo controls”. I’d really like to see what people can create with my newest control.

The custom controls demo app even has a custom “virtual desktop”…only 36 lines of code with movable icons and working recycling bin with context menus (44 lines if you count the few else/end if/end select’s :slight_smile:

Lets see what people can make!

PS - I’ll implement the print as specified, and in the meantime have unlocked the Print module so it can be customized for use as needed (until I can work on the suggested route) :slight_smile:

Hope everyone is having an awesome weekend!!!

Almost forgot to repost the link so ya’ll don’t have to search the posts for it :slight_smile:

http://www.xojodevspot.com/demos/SimDesignerCanvas.zip

Full searchable documentation and usage is almost complete :slight_smile:

Matthew, what would be great would be the ability to draw lines between objects like in visio. For example arrows which re-route when you move an object.

I can do that :slight_smile: at the moment I left that option open to the developer to drawline in the SimDesignerCanvas paint even in reference to each canvasobject’s x, y coordinates… but this can be implemented into a single line function. …I will implement this tonight. Thanks for the great suggestion.

Matthew,

Your efforts are much appreciated!!

Cheers
Grant

Adding the last touches to “linked” objects, and adding the save/load into the existing XML format.

There will be 2 functions:

LinkChain (co1 as CanvasObject, LinkPoint1 as Integer, co2 as CanvasObject, LinkPoint2 as Integer, Optional Arrow as Boolean=False)

*By default if arrow is omitted or false, a line will be drawn connecting the objects. If Arrow is True, an arrow will be drawn from CanvasObject1 to CanvasObject2.

(There are color and thickness properties for chains)

*LinkPoints operate in the same manor as SelectedHandle where Top/Left=1, Top/Right=2, Bottom/Left=3, Bottom/Right=4, Top/Middle=5, Left/Middle=6, Right/Middle=7, Bottom/Middle=8

And 2 variants of:

UnChain (co1 as CanvasObject, LinkPoint1 as Integer, co2 as CanvasObject, LinkPoint2 as Integer)

*Removes a specific chain-link between the CanvasObjects. In case multiple links between objects exist (ie co1 points to co2 and co2 points to co1 as in a process diagram)

UnChain (co1 as CanvasObject, co2 as CanvasObject)

*Removes ALL chain-links linking both objects.

*Adding links to the new searchable documentation as well as the print functions (existing and new), plus the new couple of “modular” extensions for graphics manipulation (blur/sharpen/rotate by radian/tilt-shift/etc)

Almost forgot to mention I added grid capabilities as well with gridsize, grid color, gridsegmentmodularity (in architectural graphing paper sets of cubes are outlines into larger groups ie every 5 cubes the line is thicker (or different color), gridsolidbackround color, etc…

Also added an initial fill bg color as a single function so the background can now be an image, auto fitted image, solid color background, or transparent.

Have thought about adding another outline property which will allow for a rounded rectangle object outline if set to true in place of the non-rounded (for more customizability)

Let me know what you all think… (Future view - I’ll be migrating the entire control over to subclass openGL surface and mimic the canvas control identically for 3D CanvasObject manipulation… without all the openGL complexities :-))

Oh, this is like Christmas for me! I was just trying to figure out how I was going to find the time to do something like this for my Outlaw project and now I don’t have to! Not only that, I would have stopped with only the “must have” features and not had everything that’s in SimDesignerCanvas. :slight_smile:

Just poked at it for about 15 minutes and if my experimenting tomorrow continues to go well I’ll crack open my wallet ASAP.

Jay

[quote=85563:@Jay Jennings]Oh, this is like Christmas for me! I was just trying to figure out how I was going to find the time to do something like this for my Outlaw project and now I don’t have to! Not only that, I would have stopped with only the “must have” features and not had everything that’s in SimDesignerCanvas. :slight_smile:

Just poked at it for about 15 minutes and if my experimenting tomorrow continues to go well I’ll crack open my wallet ASAP.

Jay[/quote]

By later today or tomorrow version 1.4 should be ready with the completed documentation and all the new additional features mentioned after the “print” posts :slight_smile: if you have any suggestions for “must have” features id love to hear. Already it allows for design interfaces, exports ranging from XML, html, and image formats, down to allowing custom control development in minutes using very little code. Id like this control to help everyone out… especially those with “little development time available” so they can still pull-off coding ‘miracles’ in minutes :slight_smile: another one of the modular extensions I’m working on, on the side is, full barcode generation (us and european codes), and modules to create molecules, electronic components, etc as picture objects. Since they are modules they “aren’t required” as part of the SimDesignerCanvas control for it to operate… merely extensions… And won’t necessarily have to be used with the SimDesignerCanvas (they’re just added bonus to make life easier).

Already a few individuals have sent me screenshots of stuff they are working on. One is an animation suite which uses ffmpeg as a backend to turn the flattenedimage sequences into avi/mp4 cartoons. Another gentleman is designing a sign application for a store. And a few other individuals have made simple games like tic-tac-toe and pacman… And made an animated splash screen and simple scrolling credits with background animation in their about box.

Animated splash screen and scrolling credits - that’s something I’d like!
:slight_smile:

[quote=85767:@Richard Summers]Animated splash screen and scrolling credits - that’s something I’d like!
:)[/quote]

Helping others does pay off :slight_smile: I added fade-in/fade-out to the graphics routines module extensions after supplying you with the code yesterday. I wouldn’t have thought of it on my own. So thanks Richard! Inspiration can be found everywhere!

The pleasure was all mine :slight_smile: :slight_smile:

In that case, I have LOTS MORE “ideas” for you ! :slight_smile: :slight_smile: :slight_smile: