Hi I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own? Thanks, Peter
I think you should make a new composite shape. But first check how the width and height is computed, because the shapes somehow share the same (biggest) size. Cheers, Jura -- Juraj Kubelka
El 11/07/2014, a las 17:05, Peter Uhnák <i.uhnak@gmail.com> escribió:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
Hi Peter, I am not sure what you try to do. Having two ellipses with the same center? But different radius? Something like that maybe: -=-=-=-=-=-=-=-=-= | v | v := RTView new. v @ RTDraggableView. shape := RTMultiCompositeShape new. shape add: (RTEllipse new color: (Color yellow alpha: 0.3); size: [:c | c numberOfMethods sqrt * 10 ]). shape add: (RTEllipse new color: (Color green alpha: 0.3); size: [:c | c numberOfLinesOfCode sqrt * 10 ]). v addAll: (shape elementsOn: RTShape withAllSubclasses). RTFlowLayout on: v elements. v -=-=-=-=-=-=-=-=-= Alexandre On Jul 11, 2014, at 11:05 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Thank you both for suggestions. According to Monticello I have latest Roassal2 and yet I don't see RTMultiCompositeShape, but I would assume it should be what I was looking for originally. In the meantime I chose to do it manually - creating a custom shape in both Roassal and Trachert: I've done it in a single path because it seems that having multiple separate paths just creates more trouble. ======== computePath canvas ifNil: [ ^ self ]. path := self athensCanvas createPath: [ :builder | builder absolute. self ccwCirclePath: builder radius: 0.5. "building circular path with specified radius" self cwCirclePath: builder radius: 0.48. self ccwCirclePath: builder radius: 0.4 ] ======== But even if I could manage to do this with MultiCompositeShape I'm not sure about the rest of the shapes (see attachment). Peter On Sun, Jul 13, 2014 at 1:18 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Hi Peter,
I am not sure what you try to do. Having two ellipses with the same center? But different radius?
Something like that maybe: -=-=-=-=-=-=-=-=-= | v | v := RTView new. v @ RTDraggableView.
shape := RTMultiCompositeShape new. shape add: (RTEllipse new color: (Color yellow alpha: 0.3); size: [:c | c numberOfMethods sqrt * 10 ]). shape add: (RTEllipse new color: (Color green alpha: 0.3); size: [:c | c numberOfLinesOfCode sqrt * 10 ]).
v addAll: (shape elementsOn: RTShape withAllSubclasses). RTFlowLayout on: v elements.
v -=-=-=-=-=-=-=-=-=
Alexandre
On Jul 11, 2014, at 11:05 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Sorry, the version was not properly saved in SmalltalkHub. If you update Roassal2 and Trachel, you should be able to execute the code snippet Iâve sent you. Maybe you want to add âv openâ at the end. If you are using GTInspector, this is not necessary. As far as I understand your description of the problem, you do not need to create your own shape. Let me know how it goes. Cheers, Alexandre On Jul 13, 2014, at 10:38 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you both for suggestions.
According to Monticello I have latest Roassal2 and yet I don't see RTMultiCompositeShape, but I would assume it should be what I was looking for originally.
In the meantime I chose to do it manually - creating a custom shape in both Roassal and Trachert: I've done it in a single path because it seems that having multiple separate paths just creates more trouble. ======== computePath canvas ifNil: [ ^ self ]. path := self athensCanvas createPath: [ :builder | builder absolute. self ccwCirclePath: builder radius: 0.5. "building circular path with specified radius" self cwCirclePath: builder radius: 0.48. self ccwCirclePath: builder radius: 0.4 ] ========
But even if I could manage to do this with MultiCompositeShape I'm not sure about the rest of the shapes (see attachment).
Peter
On Sun, Jul 13, 2014 at 1:18 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Hi Peter,
I am not sure what you try to do. Having two ellipses with the same center? But different radius?
Something like that maybe: -=-=-=-=-=-=-=-=-= | v | v := RTView new. v @ RTDraggableView.
shape := RTMultiCompositeShape new. shape add: (RTEllipse new color: (Color yellow alpha: 0.3); size: [:c | c numberOfMethods sqrt * 10 ]). shape add: (RTEllipse new color: (Color green alpha: 0.3); size: [:c | c numberOfLinesOfCode sqrt * 10 ]).
v addAll: (shape elementsOn: RTShape withAllSubclasses). RTFlowLayout on: v elements.
v -=-=-=-=-=-=-=-=-=
<Screen Shot 2014-07-13 at 1.18.36 AM.png>
Alexandre
On Jul 11, 2014, at 11:05 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
<shapes.png>
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Thank you, the example now works. However as I've mentioned in previous post I'm not sure about the rest of the shapes posted in the attachment. E.g. I haven't seen any notion of "box with rounded corners". I could compose it from four RTArc nad four RTLine but it seems to me overly complex compared to creating new Trachert/Roassal classes. The same would go for the other shapes. What are your thoughts/recommendations on that? Peter On Sun, Jul 13, 2014 at 3:25 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Sorry, the version was not properly saved in SmalltalkHub. If you update Roassal2 and Trachel, you should be able to execute the code snippet Iâve sent you. Maybe you want to add âv openâ at the end. If you are using GTInspector, this is not necessary.
As far as I understand your description of the problem, you do not need to create your own shape.
Let me know how it goes.
Cheers, Alexandre
On Jul 13, 2014, at 10:38 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you both for suggestions.
According to Monticello I have latest Roassal2 and yet I don't see RTMultiCompositeShape, but I would assume it should be what I was looking for originally.
In the meantime I chose to do it manually - creating a custom shape in both Roassal and Trachert: I've done it in a single path because it seems that having multiple separate paths just creates more trouble. ======== computePath canvas ifNil: [ ^ self ]. path := self athensCanvas createPath: [ :builder | builder absolute. self ccwCirclePath: builder radius: 0.5. "building circular path with specified radius" self cwCirclePath: builder radius: 0.48. self ccwCirclePath: builder radius: 0.4 ] ========
But even if I could manage to do this with MultiCompositeShape I'm not sure about the rest of the shapes (see attachment).
Peter
On Sun, Jul 13, 2014 at 1:18 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Hi Peter,
I am not sure what you try to do. Having two ellipses with the same center? But different radius?
Something like that maybe: -=-=-=-=-=-=-=-=-= | v | v := RTView new. v @ RTDraggableView.
shape := RTMultiCompositeShape new. shape add: (RTEllipse new color: (Color yellow alpha: 0.3); size: [:c | c numberOfMethods sqrt * 10 ]). shape add: (RTEllipse new color: (Color green alpha: 0.3); size: [:c | c numberOfLinesOfCode sqrt * 10 ]).
v addAll: (shape elementsOn: RTShape withAllSubclasses). RTFlowLayout on: v elements.
v -=-=-=-=-=-=-=-=-=
<Screen Shot 2014-07-13 at 1.18.36 AM.png>
Alexandre
On Jul 11, 2014, at 11:05 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
<shapes.png>
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Indeed, Roassal does not have a rectangle with rounded corner. Having it in Roassal means you need a new TRShape and a new RTShape. I could easily do the RTShape. But we need the TRShape first. Do you feel like doing it? This will be a valuable addition to Roassal. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Jul 13, 2014, at 9:57 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you, the example now works. However as I've mentioned in previous post I'm not sure about the rest of the shapes posted in the attachment. E.g. I haven't seen any notion of "box with rounded corners". I could compose it from four RTArc nad four RTLine but it seems to me overly complex compared to creating new Trachert/Roassal classes. The same would go for the other shapes. What are your thoughts/recommendations on that?
Peter
On Sun, Jul 13, 2014 at 3:25 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Sorry, the version was not properly saved in SmalltalkHub. If you update Roassal2 and Trachel, you should be able to execute the code snippet Iâve sent you. Maybe you want to add âv openâ at the end. If you are using GTInspector, this is not necessary.
As far as I understand your description of the problem, you do not need to create your own shape.
Let me know how it goes.
Cheers, Alexandre
On Jul 13, 2014, at 10:38 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you both for suggestions.
According to Monticello I have latest Roassal2 and yet I don't see RTMultiCompositeShape, but I would assume it should be what I was looking for originally.
In the meantime I chose to do it manually - creating a custom shape in both Roassal and Trachert: I've done it in a single path because it seems that having multiple separate paths just creates more trouble. ======== computePath canvas ifNil: [ ^ self ]. path := self athensCanvas createPath: [ :builder | builder absolute. self ccwCirclePath: builder radius: 0.5. "building circular path with specified radius" self cwCirclePath: builder radius: 0.48. self ccwCirclePath: builder radius: 0.4 ] ========
But even if I could manage to do this with MultiCompositeShape I'm not sure about the rest of the shapes (see attachment).
Peter
On Sun, Jul 13, 2014 at 1:18 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Hi Peter,
I am not sure what you try to do. Having two ellipses with the same center? But different radius?
Something like that maybe: -=-=-=-=-=-=-=-=-= | v | v := RTView new. v @ RTDraggableView.
shape := RTMultiCompositeShape new. shape add: (RTEllipse new color: (Color yellow alpha: 0.3); size: [:c | c numberOfMethods sqrt * 10 ]). shape add: (RTEllipse new color: (Color green alpha: 0.3); size: [:c | c numberOfLinesOfCode sqrt * 10 ]).
v addAll: (shape elementsOn: RTShape withAllSubclasses). RTFlowLayout on: v elements.
v -=-=-=-=-=-=-=-=-=
<Screen Shot 2014-07-13 at 1.18.36 AM.png>
Alexandre
On Jul 11, 2014, at 11:05 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
<shapes.png>
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Well in the long run I will probably need much more shapes that are currently present so I will probably end up making both TRShape and RTShape anyway. As far as contribution goes, I'd be happy to contribute but I'm still quite new to both Pharo and Smalltalk so I'm quite skeptical about the code quality. I've actually already made both shapes for rounded box but it will need some testing first; so I'll keep you posted. Peter On Mon, Jul 14, 2014 at 10:47 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Indeed, Roassal does not have a rectangle with rounded corner. Having it in Roassal means you need a new TRShape and a new RTShape.
I could easily do the RTShape. But we need the TRShape first. Do you feel like doing it? This will be a valuable addition to Roassal.
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
On Jul 13, 2014, at 9:57 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you, the example now works. However as I've mentioned in previous post I'm not sure about the rest of the shapes posted in the attachment. E.g. I haven't seen any notion of "box with rounded corners". I could compose it from four RTArc nad four RTLine but it seems to me overly complex compared to creating new Trachert/Roassal classes. The same would go for the other shapes. What are your thoughts/recommendations on that?
Peter
On Sun, Jul 13, 2014 at 3:25 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Sorry, the version was not properly saved in SmalltalkHub. If you update Roassal2 and Trachel, you should be able to execute the code snippet Iâve sent you. Maybe you want to add âv openâ at the end. If you are using GTInspector, this is not necessary.
As far as I understand your description of the problem, you do not need to create your own shape.
Let me know how it goes.
Cheers, Alexandre
On Jul 13, 2014, at 10:38 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you both for suggestions.
According to Monticello I have latest Roassal2 and yet I don't see RTMultiCompositeShape, but I would assume it should be what I was looking for originally.
In the meantime I chose to do it manually - creating a custom shape in both Roassal and Trachert: I've done it in a single path because it seems that having multiple separate paths just creates more trouble. ======== computePath canvas ifNil: [ ^ self ]. path := self athensCanvas createPath: [ :builder | builder absolute. self ccwCirclePath: builder radius: 0.5. "building circular path with specified radius" self cwCirclePath: builder radius: 0.48. self ccwCirclePath: builder radius: 0.4 ] ========
But even if I could manage to do this with MultiCompositeShape I'm not sure about the rest of the shapes (see attachment).
Peter
On Sun, Jul 13, 2014 at 1:18 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Hi Peter,
I am not sure what you try to do. Having two ellipses with the same center? But different radius?
Something like that maybe: -=-=-=-=-=-=-=-=-= | v | v := RTView new. v @ RTDraggableView.
shape := RTMultiCompositeShape new. shape add: (RTEllipse new color: (Color yellow alpha: 0.3); size: [:c | c numberOfMethods sqrt * 10 ]). shape add: (RTEllipse new color: (Color green alpha: 0.3); size: [:c | c numberOfLinesOfCode sqrt * 10 ]).
v addAll: (shape elementsOn: RTShape withAllSubclasses). RTFlowLayout on: v elements.
v -=-=-=-=-=-=-=-=-=
<Screen Shot 2014-07-13 at 1.18.36 AM.png>
Alexandre
On Jul 11, 2014, at 11:05 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
<shapes.png>
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Thanks Ben for your nice words Alexandre
On 15 Jul 2014, at 08:09, Ben Coman <btc@openInWorld.com> wrote:
Peter Uhnák wrote:
Well in the long run I will probably need much more shapes that are currently present so I will probably end up making both TRShape and RTShape anyway. As far as contribution goes, I'd be happy to contribute but I'm still quite new to both Pharo and Smalltalk so I'm quite skeptical about the code quality.
I've actually already made both shapes for rounded box but it will need some testing first; so I'll keep you posted.
Peter
Alexandre was always receptive of my rough contributions, and I learnt a lot about improving code quality from him. So I'd encourage you to give it a go. cheers -ben
On Mon, Jul 14, 2014 at 10:47 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Indeed, Roassal does not have a rectangle with rounded corner. Having it in Roassal means you need a new TRShape and a new RTShape.
I could easily do the RTShape. But we need the TRShape first. Do you feel like doing it? This will be a valuable addition to Roassal.
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
On Jul 13, 2014, at 9:57 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you, the example now works. However as I've mentioned in previous post I'm not sure about the rest of the shapes posted in the attachment. E.g. I haven't seen any notion of "box with rounded corners". I could compose it from four RTArc nad four RTLine but it seems to me overly complex compared to creating new Trachert/Roassal classes. The same would go for the other shapes. What are your thoughts/recommendations on that?
Peter
On Sun, Jul 13, 2014 at 3:25 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Sorry, the version was not properly saved in SmalltalkHub. If you update Roassal2 and Trachel, you should be able to execute the code snippet Iâve sent you. Maybe you want to add âv openâ at the end. If you are using GTInspector, this is not necessary.
As far as I understand your description of the problem, you do not need to create your own shape.
Let me know how it goes.
Cheers, Alexandre
On Jul 13, 2014, at 10:38 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you both for suggestions.
According to Monticello I have latest Roassal2 and yet I don't see RTMultiCompositeShape, but I would assume it should be what I was looking for originally.
In the meantime I chose to do it manually - creating a custom shape in both Roassal and Trachert: I've done it in a single path because it seems that having multiple separate paths just creates more trouble. ======== computePath canvas ifNil: [ ^ self ]. path := self athensCanvas createPath: [ :builder | builder absolute. self ccwCirclePath: builder radius: 0.5. "building circular path with specified radius" self cwCirclePath: builder radius: 0.48. self ccwCirclePath: builder radius: 0.4 ] ========
But even if I could manage to do this with MultiCompositeShape I'm not sure about the rest of the shapes (see attachment).
Peter
On Sun, Jul 13, 2014 at 1:18 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Hi Peter,
I am not sure what you try to do. Having two ellipses with the same center? But different radius?
Something like that maybe: -=-=-=-=-=-=-=-=-= | v | v := RTView new. v @ RTDraggableView.
shape := RTMultiCompositeShape new. shape add: (RTEllipse new color: (Color yellow alpha: 0.3); size: [:c | c numberOfMethods sqrt * 10 ]). shape add: (RTEllipse new color: (Color green alpha: 0.3); size: [:c | c numberOfLinesOfCode sqrt * 10 ]).
v addAll: (shape elementsOn: RTShape withAllSubclasses). RTFlowLayout on: v elements.
v -=-=-=-=-=-=-=-=-=
<Screen Shot 2014-07-13 at 1.18.36 AM.png>
Alexandre
On Jul 11, 2014, at 11:05 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
<shapes.png>
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Defining new shapes is not complicated at all, and we will review your code. The first thing is to define a trshape, you just have to override how you compute the path, and checking for point inclusion (I.e., is a point inside the shape or not). But beside that, this is all trivial. Let us know how it goes. Alexandre
On 15 Jul 2014, at 03:24, Peter Uhnák <i.uhnak@gmail.com> wrote:
Well in the long run I will probably need much more shapes that are currently present so I will probably end up making both TRShape and RTShape anyway. As far as contribution goes, I'd be happy to contribute but I'm still quite new to both Pharo and Smalltalk so I'm quite skeptical about the code quality.
I've actually already made both shapes for rounded box but it will need some testing first; so I'll keep you posted.
Peter
On Mon, Jul 14, 2014 at 10:47 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Indeed, Roassal does not have a rectangle with rounded corner. Having it in Roassal means you need a new TRShape and a new RTShape.
I could easily do the RTShape. But we need the TRShape first. Do you feel like doing it? This will be a valuable addition to Roassal.
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
On Jul 13, 2014, at 9:57 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you, the example now works. However as I've mentioned in previous post I'm not sure about the rest of the shapes posted in the attachment. E.g. I haven't seen any notion of "box with rounded corners". I could compose it from four RTArc nad four RTLine but it seems to me overly complex compared to creating new Trachert/Roassal classes. The same would go for the other shapes. What are your thoughts/recommendations on that?
Peter
On Sun, Jul 13, 2014 at 3:25 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Sorry, the version was not properly saved in SmalltalkHub. If you update Roassal2 and Trachel, you should be able to execute the code snippet Iâve sent you. Maybe you want to add âv openâ at the end. If you are using GTInspector, this is not necessary.
As far as I understand your description of the problem, you do not need to create your own shape.
Let me know how it goes.
Cheers, Alexandre
On Jul 13, 2014, at 10:38 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you both for suggestions.
According to Monticello I have latest Roassal2 and yet I don't see RTMultiCompositeShape, but I would assume it should be what I was looking for originally.
In the meantime I chose to do it manually - creating a custom shape in both Roassal and Trachert: I've done it in a single path because it seems that having multiple separate paths just creates more trouble. ======== computePath canvas ifNil: [ ^ self ]. path := self athensCanvas createPath: [ :builder | builder absolute. self ccwCirclePath: builder radius: 0.5. "building circular path with specified radius" self cwCirclePath: builder radius: 0.48. self ccwCirclePath: builder radius: 0.4 ] ========
But even if I could manage to do this with MultiCompositeShape I'm not sure about the rest of the shapes (see attachment).
Peter
On Sun, Jul 13, 2014 at 1:18 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Hi Peter,
I am not sure what you try to do. Having two ellipses with the same center? But different radius?
Something like that maybe: -=-=-=-=-=-=-=-=-= | v | v := RTView new. v @ RTDraggableView.
shape := RTMultiCompositeShape new. shape add: (RTEllipse new color: (Color yellow alpha: 0.3); size: [:c | c numberOfMethods sqrt * 10 ]). shape add: (RTEllipse new color: (Color green alpha: 0.3); size: [:c | c numberOfLinesOfCode sqrt * 10 ]).
v addAll: (shape elementsOn: RTShape withAllSubclasses). RTFlowLayout on: v elements.
v -=-=-=-=-=-=-=-=-=
<Screen Shot 2014-07-13 at 1.18.36 AM.png>
Alexandre
On Jul 11, 2014, at 11:05 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
<shapes.png>
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Just an idea: the svg path shape would not solve your needs? Maybe improving trachel svg path and then use it for any desired shape, e.g., rectangles with round corner? Does it have sense? Cheers, Jura -- Juraj Kubelka
El 15/07/2014, a las 03:24, Peter Uhnák <i.uhnak@gmail.com> escribió:
Well in the long run I will probably need much more shapes that are currently present so I will probably end up making both TRShape and RTShape anyway. As far as contribution goes, I'd be happy to contribute but I'm still quite new to both Pharo and Smalltalk so I'm quite skeptical about the code quality.
I've actually already made both shapes for rounded box but it will need some testing first; so I'll keep you posted.
Peter
On Mon, Jul 14, 2014 at 10:47 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Indeed, Roassal does not have a rectangle with rounded corner. Having it in Roassal means you need a new TRShape and a new RTShape.
I could easily do the RTShape. But we need the TRShape first. Do you feel like doing it? This will be a valuable addition to Roassal.
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
On Jul 13, 2014, at 9:57 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you, the example now works. However as I've mentioned in previous post I'm not sure about the rest of the shapes posted in the attachment. E.g. I haven't seen any notion of "box with rounded corners". I could compose it from four RTArc nad four RTLine but it seems to me overly complex compared to creating new Trachert/Roassal classes. The same would go for the other shapes. What are your thoughts/recommendations on that?
Peter
On Sun, Jul 13, 2014 at 3:25 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Sorry, the version was not properly saved in SmalltalkHub. If you update Roassal2 and Trachel, you should be able to execute the code snippet Iâve sent you. Maybe you want to add âv openâ at the end. If you are using GTInspector, this is not necessary.
As far as I understand your description of the problem, you do not need to create your own shape.
Let me know how it goes.
Cheers, Alexandre
On Jul 13, 2014, at 10:38 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you both for suggestions.
According to Monticello I have latest Roassal2 and yet I don't see RTMultiCompositeShape, but I would assume it should be what I was looking for originally.
In the meantime I chose to do it manually - creating a custom shape in both Roassal and Trachert: I've done it in a single path because it seems that having multiple separate paths just creates more trouble. ======== computePath canvas ifNil: [ ^ self ]. path := self athensCanvas createPath: [ :builder | builder absolute. self ccwCirclePath: builder radius: 0.5. "building circular path with specified radius" self cwCirclePath: builder radius: 0.48. self ccwCirclePath: builder radius: 0.4 ] ========
But even if I could manage to do this with MultiCompositeShape I'm not sure about the rest of the shapes (see attachment).
Peter
On Sun, Jul 13, 2014 at 1:18 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Hi Peter,
I am not sure what you try to do. Having two ellipses with the same center? But different radius?
Something like that maybe: -=-=-=-=-=-=-=-=-= | v | v := RTView new. v @ RTDraggableView.
shape := RTMultiCompositeShape new. shape add: (RTEllipse new color: (Color yellow alpha: 0.3); size: [:c | c numberOfMethods sqrt * 10 ]). shape add: (RTEllipse new color: (Color green alpha: 0.3); size: [:c | c numberOfLinesOfCode sqrt * 10 ]).
v addAll: (shape elementsOn: RTShape withAllSubclasses). RTFlowLayout on: v elements.
v -=-=-=-=-=-=-=-=-=
<Screen Shot 2014-07-13 at 1.18.36 AM.png>
Alexandre
On Jul 11, 2014, at 11:05 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
<shapes.png>
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Well seen!! Good point! Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Jul 15, 2014, at 9:46 PM, Juraj Kubelka <juraj.kubelka@gmail.com> wrote:
Just an idea: the svg path shape would not solve your needs? Maybe improving trachel svg path and then use it for any desired shape, e.g., rectangles with round corner? Does it have sense?
Cheers, Jura
-- Juraj Kubelka
El 15/07/2014, a las 03:24, Peter Uhnák <i.uhnak@gmail.com> escribió:
Well in the long run I will probably need much more shapes that are currently present so I will probably end up making both TRShape and RTShape anyway. As far as contribution goes, I'd be happy to contribute but I'm still quite new to both Pharo and Smalltalk so I'm quite skeptical about the code quality.
I've actually already made both shapes for rounded box but it will need some testing first; so I'll keep you posted.
Peter
On Mon, Jul 14, 2014 at 10:47 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Indeed, Roassal does not have a rectangle with rounded corner. Having it in Roassal means you need a new TRShape and a new RTShape.
I could easily do the RTShape. But we need the TRShape first. Do you feel like doing it? This will be a valuable addition to Roassal.
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
On Jul 13, 2014, at 9:57 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you, the example now works. However as I've mentioned in previous post I'm not sure about the rest of the shapes posted in the attachment. E.g. I haven't seen any notion of "box with rounded corners". I could compose it from four RTArc nad four RTLine but it seems to me overly complex compared to creating new Trachert/Roassal classes. The same would go for the other shapes. What are your thoughts/recommendations on that?
Peter
On Sun, Jul 13, 2014 at 3:25 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Sorry, the version was not properly saved in SmalltalkHub. If you update Roassal2 and Trachel, you should be able to execute the code snippet Iâve sent you. Maybe you want to add âv openâ at the end. If you are using GTInspector, this is not necessary.
As far as I understand your description of the problem, you do not need to create your own shape.
Let me know how it goes.
Cheers, Alexandre
On Jul 13, 2014, at 10:38 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Thank you both for suggestions.
According to Monticello I have latest Roassal2 and yet I don't see RTMultiCompositeShape, but I would assume it should be what I was looking for originally.
In the meantime I chose to do it manually - creating a custom shape in both Roassal and Trachert: I've done it in a single path because it seems that having multiple separate paths just creates more trouble. ======== computePath canvas ifNil: [ ^ self ]. path := self athensCanvas createPath: [ :builder | builder absolute. self ccwCirclePath: builder radius: 0.5. "building circular path with specified radius" self cwCirclePath: builder radius: 0.48. self ccwCirclePath: builder radius: 0.4 ] ========
But even if I could manage to do this with MultiCompositeShape I'm not sure about the rest of the shapes (see attachment).
Peter
On Sun, Jul 13, 2014 at 1:18 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Hi Peter,
I am not sure what you try to do. Having two ellipses with the same center? But different radius?
Something like that maybe: -=-=-=-=-=-=-=-=-= | v | v := RTView new. v @ RTDraggableView.
shape := RTMultiCompositeShape new. shape add: (RTEllipse new color: (Color yellow alpha: 0.3); size: [:c | c numberOfMethods sqrt * 10 ]). shape add: (RTEllipse new color: (Color green alpha: 0.3); size: [:c | c numberOfLinesOfCode sqrt * 10 ]).
v addAll: (shape elementsOn: RTShape withAllSubclasses). RTFlowLayout on: v elements.
v -=-=-=-=-=-=-=-=-=
<Screen Shot 2014-07-13 at 1.18.36 AM.png>
Alexandre
On Jul 11, 2014, at 11:05 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
Hi
I'm trying to draw an ellipse inside another ellipse but to no avail. I've tried using RTCompositeShape but that just expands the size of the smaller shape. Is there something else I'm missing (like fixing dimensions so they won't get updated) or should I subclass RTAbstractCompositeShape and try to make something on my own?
Thanks, Peter
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
<shapes.png>
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
participants (4)
-
Alexandre Bergel -
Ben Coman -
Juraj Kubelka -
Peter Uhnák