[Pharo-project] Canvas >>draw: anObject
Canvas>>draw: anObject ^anObject drawOn: self Now in SM we got SMxCanvas>>draw: anObject ^self clipBy: anObject bounds during: [ :c | anObject drawOn: c] and I'm wondering what is the exact difference. Any idea? Stef
On 7 February 2011 22:41, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Canvas>>draw: anObject     ^anObject drawOn: self
Now in SM we got
SMxCanvas>>draw: anObject     ^self clipBy: anObject bounds during: [ :c | anObject drawOn: c]
and I'm wondering what is the exact difference. Any idea?
yes, SMxCanvas ensures that not matter what happens, a morph cannot draw outside of its declared bounds. Which usually should not happen anyways.. so it looks like an additional rule enforcement.
Stef
-- Best regards, Igor Stasenko AKA sig.
Yes now apparently even if I draw outside the bounds they are clipped in pharo too. I have to check how. On Feb 8, 2011, at 12:51 AM, Igor Stasenko wrote:
On 7 February 2011 22:41, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Canvas>>draw: anObject ^anObject drawOn: self
Now in SM we got
SMxCanvas>>draw: anObject ^self clipBy: anObject bounds during: [ :c | anObject drawOn: c]
and I'm wondering what is the exact difference. Any idea?
yes, SMxCanvas ensures that not matter what happens, a morph cannot draw outside of its declared bounds. Which usually should not happen anyways.. so it looks like an additional rule enforcement.
Stef
-- Best regards, Igor Stasenko AKA sig.
There's a method in Morph>>clipsSubmorphs , that dictates that behavior. surely is on by default . Fernando On Tue, Feb 8, 2011 at 10:20 AM, Stéphane Ducasse <Stephane.Ducasse@inria.fr> wrote:
Yes now apparently even if I draw outside the bounds they are clipped in pharo too. I have to check how.
On Feb 8, 2011, at 12:51 AM, Igor Stasenko wrote:
On 7 February 2011 22:41, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Canvas>>draw: anObject    ^anObject drawOn: self
Now in SM we got
SMxCanvas>>draw: anObject    ^self clipBy: anObject bounds during: [ :c | anObject drawOn: c]
and I'm wondering what is the exact difference. Any idea?
yes, SMxCanvas ensures that not matter what happens, a morph cannot draw outside of its declared bounds. Which usually should not happen anyways.. so it looks like an additional rule enforcement.
Stef
-- Best regards, Igor Stasenko AKA sig.
On 8 February 2011 16:37, Fernando Olivero <fernando.olivero@usi.ch> wrote:
There's a method in Morph>>clipsSubmorphs , that dictates that behavior. surely is on by default .
no. this is different. It tells whether submorphs can be drawn outside of morph's bounds, but nothing about morph itself. In fact, i think many of these flags are redundant. For instance: if one wants submorphs to be drawn outside of morph's bounds, he can simply put them into morph's parent and so on up to topmost one - world..
Fernando
On Tue, Feb 8, 2011 at 10:20 AM, Stéphane Ducasse <Stephane.Ducasse@inria.fr> wrote:
Yes now apparently even if I draw outside the bounds they are clipped in pharo too. I have to check how.
On Feb 8, 2011, at 12:51 AM, Igor Stasenko wrote:
On 7 February 2011 22:41, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Canvas>>draw: anObject    ^anObject drawOn: self
Now in SM we got
SMxCanvas>>draw: anObject    ^self clipBy: anObject bounds during: [ :c | anObject drawOn: c]
and I'm wondering what is the exact difference. Any idea?
yes, SMxCanvas ensures that not matter what happens, a morph cannot draw outside of its declared bounds. Which usually should not happen anyways.. so it looks like an additional rule enforcement.
Stef
-- Best regards, Igor Stasenko AKA sig.
-- Best regards, Igor Stasenko AKA sig.
It is all rather messy. Note that #fullBounds can be different to #bounds if submorphs lie outside the bounds of the owner (parent). Regards, Gary ----- Original Message ----- From: "Igor Stasenko" <siguctua@gmail.com> To: <Pharo-project@lists.gforge.inria.fr>; <fernando.olivero@usi.ch> Sent: Tuesday, February 08, 2011 3:42 PM Subject: Re: [Pharo-project] Canvas >>draw: anObject On 8 February 2011 16:37, Fernando Olivero <fernando.olivero@usi.ch> wrote:
There's a method in Morph>>clipsSubmorphs , that dictates that behavior. surely is on by default .
no. this is different. It tells whether submorphs can be drawn outside of morph's bounds, but nothing about morph itself. In fact, i think many of these flags are redundant. For instance: if one wants submorphs to be drawn outside of morph's bounds, he can simply put them into morph's parent and so on up to topmost one - world..
Fernando
On Tue, Feb 8, 2011 at 10:20 AM, Stéphane Ducasse <Stephane.Ducasse@inria.fr> wrote:
Yes now apparently even if I draw outside the bounds they are clipped in pharo too. I have to check how.
On Feb 8, 2011, at 12:51 AM, Igor Stasenko wrote:
On 7 February 2011 22:41, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Canvas>>draw: anObject ^anObject drawOn: self
Now in SM we got
SMxCanvas>>draw: anObject ^self clipBy: anObject bounds during: [ :c | anObject drawOn: c]
and I'm wondering what is the exact difference. Any idea?
yes, SMxCanvas ensures that not matter what happens, a morph cannot draw outside of its declared bounds. Which usually should not happen anyways.. so it looks like an additional rule enforcement.
Stef
-- Best regards, Igor Stasenko AKA sig.
-- Best regards, Igor Stasenko AKA sig.
On 8 February 2011 16:54, Gary Chambers <gazzaguru2@btinternet.com> wrote:
It is all rather messy. Note that #fullBounds can be different to #bounds if submorphs lie outside the bounds of the owner (parent).
yeah, which again could be made a simpler life for everything by placing morph one level higher, to prevent submorphs to be outside of parent.
Regards, Gary
----- Original Message ----- From: "Igor Stasenko" <siguctua@gmail.com> To: <Pharo-project@lists.gforge.inria.fr>; <fernando.olivero@usi.ch> Sent: Tuesday, February 08, 2011 3:42 PM Subject: Re: [Pharo-project] Canvas >>draw: anObject
On 8 February 2011 16:37, Fernando Olivero <fernando.olivero@usi.ch> wrote:
There's a method in Morph>>clipsSubmorphs , that dictates that behavior. surely is on by default .
no. this is different. It tells whether submorphs can be drawn outside of morph's bounds, but nothing about morph itself.
In fact, i think many of these flags are redundant. For instance: if one wants submorphs to be drawn outside of morph's bounds, he can simply put them into morph's parent and so on up to topmost one - world..
Fernando
On Tue, Feb 8, 2011 at 10:20 AM, Stéphane Ducasse <Stephane.Ducasse@inria.fr> wrote:
Yes now apparently even if I draw outside the bounds they are clipped in pharo too. I have to check how.
On Feb 8, 2011, at 12:51 AM, Igor Stasenko wrote:
On 7 February 2011 22:41, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Canvas>>draw: anObject ^anObject drawOn: self
Now in SM we got
SMxCanvas>>draw: anObject ^self clipBy: anObject bounds during: [ :c | anObject drawOn: c]
and I'm wondering what is the exact difference. Any idea?
yes, SMxCanvas ensures that not matter what happens, a morph cannot draw outside of its declared bounds. Which usually should not happen anyways.. so it looks like an additional rule enforcement.
Stef
-- Best regards, Igor Stasenko AKA sig.
-- Best regards, Igor Stasenko AKA sig.
-- Best regards, Igor Stasenko AKA sig.
That would be nicer/more-understandable (and more like virtually every other ui!). There are a few cases that rely on it, however. Possibly not used/important though, or even working now (flop out scrollbars anyone?). Regards, Gary ----- Original Message ----- From: "Igor Stasenko" <siguctua@gmail.com> To: <Pharo-project@lists.gforge.inria.fr> Sent: Tuesday, February 08, 2011 4:28 PM Subject: Re: [Pharo-project] Canvas >>draw: anObject On 8 February 2011 16:54, Gary Chambers <gazzaguru2@btinternet.com> wrote:
It is all rather messy. Note that #fullBounds can be different to #bounds if submorphs lie outside the bounds of the owner (parent).
yeah, which again could be made a simpler life for everything by placing morph one level higher, to prevent submorphs to be outside of parent.
Regards, Gary
----- Original Message ----- From: "Igor Stasenko" <siguctua@gmail.com> To: <Pharo-project@lists.gforge.inria.fr>; <fernando.olivero@usi.ch> Sent: Tuesday, February 08, 2011 3:42 PM Subject: Re: [Pharo-project] Canvas >>draw: anObject
On 8 February 2011 16:37, Fernando Olivero <fernando.olivero@usi.ch> wrote:
There's a method in Morph>>clipsSubmorphs , that dictates that behavior. surely is on by default .
no. this is different. It tells whether submorphs can be drawn outside of morph's bounds, but nothing about morph itself.
In fact, i think many of these flags are redundant. For instance: if one wants submorphs to be drawn outside of morph's bounds, he can simply put them into morph's parent and so on up to topmost one - world..
Fernando
On Tue, Feb 8, 2011 at 10:20 AM, Stéphane Ducasse <Stephane.Ducasse@inria.fr> wrote:
Yes now apparently even if I draw outside the bounds they are clipped in pharo too. I have to check how.
On Feb 8, 2011, at 12:51 AM, Igor Stasenko wrote:
On 7 February 2011 22:41, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Canvas>>draw: anObject ^anObject drawOn: self
Now in SM we got
SMxCanvas>>draw: anObject ^self clipBy: anObject bounds during: [ :c | anObject drawOn: c]
and I'm wondering what is the exact difference. Any idea?
yes, SMxCanvas ensures that not matter what happens, a morph cannot draw outside of its declared bounds. Which usually should not happen anyways.. so it looks like an additional rule enforcement.
Stef
-- Best regards, Igor Stasenko AKA sig.
-- Best regards, Igor Stasenko AKA sig.
-- Best regards, Igor Stasenko AKA sig.
So it would be good to slowly start cleaning. I will go over SM and make a long list of notes and clean SMs/Morphic when doing that. Stef
It is all rather messy. Note that #fullBounds can be different to #bounds if submorphs lie outside the bounds of the owner (parent).
Regards, Gary
----- Original Message ----- From: "Igor Stasenko" <siguctua@gmail.com> To: <Pharo-project@lists.gforge.inria.fr>; <fernando.olivero@usi.ch> Sent: Tuesday, February 08, 2011 3:42 PM Subject: Re: [Pharo-project] Canvas >>draw: anObject
On 8 February 2011 16:37, Fernando Olivero <fernando.olivero@usi.ch> wrote:
There's a method in Morph>>clipsSubmorphs , that dictates that behavior. surely is on by default .
no. this is different. It tells whether submorphs can be drawn outside of morph's bounds, but nothing about morph itself.
In fact, i think many of these flags are redundant. For instance: if one wants submorphs to be drawn outside of morph's bounds, he can simply put them into morph's parent and so on up to topmost one - world..
Fernando
On Tue, Feb 8, 2011 at 10:20 AM, Stéphane Ducasse <Stephane.Ducasse@inria.fr> wrote:
Yes now apparently even if I draw outside the bounds they are clipped in pharo too. I have to check how.
On Feb 8, 2011, at 12:51 AM, Igor Stasenko wrote:
On 7 February 2011 22:41, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Canvas>>draw: anObject ^anObject drawOn: self
Now in SM we got
SMxCanvas>>draw: anObject ^self clipBy: anObject bounds during: [ :c | anObject drawOn: c]
and I'm wondering what is the exact difference. Any idea?
yes, SMxCanvas ensures that not matter what happens, a morph cannot draw outside of its declared bounds. Which usually should not happen anyways.. so it looks like an additional rule enforcement.
Stef
-- Best regards, Igor Stasenko AKA sig.
-- Best regards, Igor Stasenko AKA sig.
not in morph strange. On Feb 8, 2011, at 4:37 PM, Fernando Olivero wrote:
There's a method in Morph>>clipsSubmorphs , that dictates that behavior. surely is on by default .
Fernando
On Tue, Feb 8, 2011 at 10:20 AM, Stéphane Ducasse <Stephane.Ducasse@inria.fr> wrote:
Yes now apparently even if I draw outside the bounds they are clipped in pharo too. I have to check how.
On Feb 8, 2011, at 12:51 AM, Igor Stasenko wrote:
On 7 February 2011 22:41, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Canvas>>draw: anObject ^anObject drawOn: self
Now in SM we got
SMxCanvas>>draw: anObject ^self clipBy: anObject bounds during: [ :c | anObject drawOn: c]
and I'm wondering what is the exact difference. Any idea?
yes, SMxCanvas ensures that not matter what happens, a morph cannot draw outside of its declared bounds. Which usually should not happen anyways.. so it looks like an additional rule enforcement.
Stef
-- Best regards, Igor Stasenko AKA sig.
participants (5)
-
Fernando Olivero -
Gary Chambers -
Igor Stasenko -
Stéphane Ducasse -
Stéphane Ducasse