Hi, short answer: you can't (and you shouldn't) :) long answer: conceptually, a presenter does not has an extent because it is not a component by itself, is just a set of other presenters arranged into a layout.
However, that does not means you can't know the extent where your athens component will be drawn! Basically, you cannot know the presenter size (or position), but you can know the extent assigned to your athens canvas because the renderer will call your drawBlock with a canvas already initialized. So, you can do something like: athensPresenter := self newAthens drawBlock: [ :aCanvas | | extent | extent := aCanvas surface extent. ... etc ... ]. But! This is poorly documented and even less used, so there may be missing parts (both bugs and things I didn't think on when I implemented the component). Please let me know if this is working for you :) cheers! Esteban On May 24 2021, at 5:18 pm, kmo <vox...@gmail.com> wrote: > I'm porting a little Morphic geometry program from Morphic to a Spec 2 > application using GTK. > > I need to draw a shape in an SpAthensPresenter but to draw it I need to know > the current dimensions (extent) of the presenter so it can still work OK > even when the window is resized. > > The old Morphic version also used An Athens canvas but I had no problem then > as a morph has an extent method that provides this information. But now that > I can't use a morph I find that the extent method of an SpPresenter always > seems to answer nil. > > Is that right? How d you get the current size of a presenter? Is it a bug? > I'm using a very recent Pharo 9 image and headless VM on Linux. > Image > ----- > /home/kmp/Pharo/images/gtkRoses/gtkRoses.image > Pharo9.0.0 > Build information: > Pharo-9.0.0+build.1399.sha.9ae8329dedfbad7915b7b2cdc4accc7ce8109ce0 (64 Bit) > Unnamed > > Virtual Machine > --------------- > /home/kmp/Pharo/vms/90-x64-headless/lib/pharo > CoInterpreter VMMaker-tonel.1 uuid: 286e9806-8e7d-0d00-ab06-4e280faf8631 Apr > 30 2021 > StackToRegisterMappingCogit VMMaker-tonel.1 uuid: > 286e9806-8e7d-0d00-ab06-4e280faf8631 Apr 30 2021 > 5125110 - Commit: 5125110 - Date: 2021-04-30 10:05:04 +0200 > > Pharo 9.0.0 built on Apr 30 2021 10:22:47 Compiler: 5.4.0 20160609 > VMMaker versionString 5125110 - Commit: 5125110 - Date: 2021-04-30 10:05:04 > +0200 > CoInterpreter VMMaker-tonel.1 uuid: 286e9806-8e7d-0d00-ab06-4e280faf8631 Apr > 30 2021 > StackToRegisterMappingCogit VMMaker-tonel.1 uuid: > 286e9806-8e7d-0d00-ab06-4e280faf8631 Apr 30 2021 > > > Any help woudl be appreciated. > > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html >