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 <voxkmp@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