Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » Draw, Display, Images, Bitmaps, Icons » Drawing / Painter Difference,Usage,Manual
Re: Drawing / Painter Difference,Usage,Manual [message #27126 is a reply to message #27084] Sun, 27 June 2010 09:32 Go to previous messageGo to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
kohait00 wrote on Thu, 24 June 2010 18:10


1) What is Draw (interface class for performing all kind of drawing)



Yes. Interface class for performing simple drawing - good enough to paint all widgets. Fine enough to paint most of graphics. Does not contain advanced operations. E.g. Draw is not good enough to paint PDF or SVG.

In X11 and Win32, when Draw represents window surface, drawing operations are passed directly to host OS.

Quote:


2) What is Drawing (a target for Draw operations for vector images received and applied by DrawingDraw??)



Represents recorded sequence of Draw operations. Similar to windows metafile. DrawingDraw is Draw that creates Drawing. Draw has "DrawDrawing" operation, which is also able to preform rescaling.

Quote:


3) What is Image (a target for Draw operations for raster images received and applied by ImageDraw??, readonly)



Image is raster bitmap... a picture you can draw.

Quote:


4) What is ImageBuffer (a writeable Image ??)



Basically, yes, as Image does not have any mutating operations (except assignment).

Quote:


5) What is SystemDraw (an system dependant implementation of Draw interface, related to Image / ImageBuffer, which is the base for drawing of a TopWindow



SystemDraw is X11/Win32 implementation of Draw. Translates Draw interface to calls to GDI.

Quote:


6) What is a TopWindow (a basic system dependant window unit handling the message queue for peripherial events, and managing one/the static SystemDraw??)



TopWindow represents host platform top-level window (with window title, all platform dependent decorations etc...).

SystemDraw has to be managed in Ctrl, because there are also PopUp top-level windows...

Quote:


7) What is a Painter then and how does it fit in all that? i've seen it deriving from Draw, why?



Painter is high-level drawing system interface, implemented as BufferPainter in software. It has enough capabilities to paint SVG/PDF.

It derives from Draw basically because it can... Smile I mean, being on higher level, it can implement simple Draw interface too. That has advantage that routines capable of drawing Draw can use Painter as target too.

[quote]
8 ) What is a BufferPainter
[/qute]

Implements Painter interface to render in ImageBuffer.

Quote:


, a ImagePainter,



Trivial helper class that uses ImageBuffer to produce Image as Painter rendering output.

Quote:


DrawPainter,



Another trivial class that outputs Painter rendering to Draw; to be used in Paint.

Quote:


what is the difference to ImageDraw, DrawingDraw,



ImageDraw nor DrawingDraw have Painter high-level interfaces.

Quote:


PS: i know documentation is hard work, coding is more fun, but great work needs some good doku..



That is why I hope you will provide some too Smile

Mirek
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: How to save drawing as an image
Goto Forum:
  


Current Time: Thu Apr 25 19:19:46 CEST 2024

Total time taken to generate the page: 0.03523 seconds