I respectfully disagree with the presumption that a morph subclass is desirable. It *might* be the correct solution, but IMHO, often one is better off with something knows how to draw on a canvas with an arbitrary resolution. One thing I actually miss from Windows is its printer device contexts. Yes, you may quote me in a registered letter to Bill Gates<g>. If you do, please tell him that I think pretty highly of COM too, but that he botched almost everything else, especially DCOM :) Back on topic, this is an old debate. In another Smalltalk that will remain nameless, it wasn't Moprhs, it was View subclasses. Same argument: follow Kent Beck's "lots of little pieces" advice, make something that draws on a canvas, and use it to create a morph or whatever else you want. Test using a bitmap (Form in Pharo) as I showed in my other message. Just my 2 asCents. Bill ________________________________ From: pharo-project-bounces@lists.gforge.inria.fr [pharo-project-bounces@lists.gforge.inria.fr] on behalf of Ricardo Moran [richi.moran@gmail.com] Sent: Tuesday, December 13, 2011 3:49 PM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] Old smalltalker is slightly lost Hi, You should make your own Morph subclass, override the #drawOn: method which receives a canvas as its parameter, and use this canvas to make your diagram. Then, if you want it to be inside a window, you can send #openInWindow to your morph instead of #openInWorld. A very simple example is attached. Open it by doing: ExampleMorph new openInWindow Best regards, Richo On Tue, Dec 13, 2011 at 1:59 PM, KasperOsterbye <kasper@itu.dk<mailto:kasper@itu.dk>> wrote: 15 years ago I did a lot in Smalltalk, and have done some recreational meta programming along the way. However, I now wanted to do something where I was in need of drawing a diagram with x and y axes on what I presume might be called a Canvas. I lack a simple tutorial to get me started. I have looked at many, but they seem to presume I want to draw on the world "openInWorld". I should like not to scatter my world with line fragments and points, but keep it inside a "normal" window with borders, a background color (i.e. not a see through window). I have gone dead in two approaches. First attempt is to use a SystemWindow, and then draw on the canvas I presume is there somewhere. I have just not been able to figure out how to find the canvas of that SystemWindow, nor what method presumeable does the painting. Second attempt is to use a SystemWindow, and then add (addMorph:) line and circle morphs for my diagram. But it seems something is missing in my understanding there as well. While it is fun that I can open circles and other stuff in "world", it is not what I need. Small hits or direct solutions more than welcome. -- Kasper -- View this message in context: http://forum.world.st/Old-smalltalker-is-slightly-lost-tp4191137p4191137.htm... Sent from the Pharo Smalltalk mailing list archive at Nabble.com.