Home » Eclipse Projects » GEF » drawRoundedRectangle doesn't work with AnitAlias activated
| |
Re: drawRoundedRectangle doesn't work with AnitAlias activated [message #199811 is a reply to message #199771] |
Wed, 19 October 2005 15:04 |
Eclipse User |
|
|
|
Originally posted by: none.unknown.com
You need Cairo 1.0 with Eclipse 3.2 integration builds. BTW, you shouldn't
be modifying the bounds directly as you do in the paintFigure() method.
Instead, do getBounds().getExpanded(-1,-1).
"Max" <mbrigl@gmx.net> wrote in message
news:pan.2005.10.19.09.23.46.601488@gmx.net...
> Some methods on org.eclipse.draw2d.Graphics doesn't work on "Linux" if
> antialising has been activated. I had the problem with
> draw- & fillRoundedRectangle and with fillGradient.
> I'm using cairo-0.1.23!
>
> public class Snippet {
>
> public static void main(String args[]) {
> Display d = new Display();
> final Shell shell = new Shell(d);
> shell.setSize(400, 400);
> LightweightSystem lws = new LightweightSystem(shell);
> Figure contents = new Figure();
> XYLayout contentsLayout = new XYLayout();
> contents.setLayoutManager(contentsLayout);
>
> Figure fig = new Figure() {
>
> @Override
> protected void paintClientArea(Graphics graphics) {
> graphics.setForegroundColor(ColorConstants.black);
> graphics.drawRoundRectangle(getBounds().shrink(1, 1), 50, 50);
> // graphics.fillGradient(getBounds(), true);
> }
>
>
> @Override
> public void paint(Graphics graphics) {
> graphics.setAntialias(SWT.ON);
> super.paint(graphics);
> }
>
> };
> fig.setBounds(new Rectangle(100, 100, 100, 100));
> contents.add(fig);
>
> lws.setContents(contents);
> shell.open();
> while (!shell.isDisposed())
> while (!d.readAndDispatch())
> d.sleep();
> }
> }
>
|
|
| |
Re: drawRoundedRectangle doesn't work with AnitAlias activated [message #200086 is a reply to message #199811] |
Thu, 20 October 2005 18:34 |
Markus Brigl Messages: 10 Registered: July 2009 |
Junior Member |
|
|
Thank's it is working with cairo 1. It is possible to check if if
antialias (cairo) is available. In that way it would be possible to
activate antialias only if cairo has been installed.
regards
On Wed, 19 Oct 2005 11:04:59 -0400, Pratik Shah wrote:
> You need Cairo 1.0 with Eclipse 3.2 integration builds. BTW, you shouldn't
> be modifying the bounds directly as you do in the paintFigure() method.
> Instead, do getBounds().getExpanded(-1,-1).
>
> "Max" <mbrigl@gmx.net> wrote in message
> news:pan.2005.10.19.09.23.46.601488@gmx.net...
>> Some methods on org.eclipse.draw2d.Graphics doesn't work on "Linux" if
>> antialising has been activated. I had the problem with
>> draw- & fillRoundedRectangle and with fillGradient.
>> I'm using cairo-0.1.23!
>>
>> public class Snippet {
>>
>> public static void main(String args[]) {
>> Display d = new Display();
>> final Shell shell = new Shell(d);
>> shell.setSize(400, 400);
>> LightweightSystem lws = new LightweightSystem(shell);
>> Figure contents = new Figure();
>> XYLayout contentsLayout = new XYLayout();
>> contents.setLayoutManager(contentsLayout);
>>
>> Figure fig = new Figure() {
>>
>> @Override
>> protected void paintClientArea(Graphics graphics) {
>> graphics.setForegroundColor(ColorConstants.black);
>> graphics.drawRoundRectangle(getBounds().shrink(1, 1), 50, 50);
>> // graphics.fillGradient(getBounds(), true);
>> }
>>
>>
>> @Override
>> public void paint(Graphics graphics) {
>> graphics.setAntialias(SWT.ON);
>> super.paint(graphics);
>> }
>>
>> };
>> fig.setBounds(new Rectangle(100, 100, 100, 100));
>> contents.add(fig);
>>
>> lws.setContents(contents);
>> shell.open();
>> while (!shell.isDisposed())
>> while (!d.readAndDispatch())
>> d.sleep();
>> }
>> }
>>
|
|
|
Re: drawRoundedRectangle doesn't work with AnitAlias activated [message #200094 is a reply to message #200086] |
Thu, 20 October 2005 16:43 |
Eclipse User |
|
|
|
Originally posted by: none.unknown.com
GC has a method setAdvanced() that you could manipulate to find out if
there's a
gc.setAdvanced(true);
boolean advancedGraphicsInstalled = gc.getAdvanced();
gc.setAdvanced(false);
These methods aren't reflected in the Graphics class yet, though.
"Max" <mbrigl@gmx.net> wrote in message
news:pan.2005.10.20.18.34.33.844620@gmx.net...
> Thank's it is working with cairo 1. It is possible to check if if
> antialias (cairo) is available. In that way it would be possible to
> activate antialias only if cairo has been installed.
>
> regards
>
> On Wed, 19 Oct 2005 11:04:59 -0400, Pratik Shah wrote:
>
> > You need Cairo 1.0 with Eclipse 3.2 integration builds. BTW, you
shouldn't
> > be modifying the bounds directly as you do in the paintFigure() method.
> > Instead, do getBounds().getExpanded(-1,-1).
> >
> > "Max" <mbrigl@gmx.net> wrote in message
> > news:pan.2005.10.19.09.23.46.601488@gmx.net...
> >> Some methods on org.eclipse.draw2d.Graphics doesn't work on "Linux" if
> >> antialising has been activated. I had the problem with
> >> draw- & fillRoundedRectangle and with fillGradient.
> >> I'm using cairo-0.1.23!
> >>
> >> public class Snippet {
> >>
> >> public static void main(String args[]) {
> >> Display d = new Display();
> >> final Shell shell = new Shell(d);
> >> shell.setSize(400, 400);
> >> LightweightSystem lws = new LightweightSystem(shell);
> >> Figure contents = new Figure();
> >> XYLayout contentsLayout = new XYLayout();
> >> contents.setLayoutManager(contentsLayout);
> >>
> >> Figure fig = new Figure() {
> >>
> >> @Override
> >> protected void paintClientArea(Graphics graphics) {
> >> graphics.setForegroundColor(ColorConstants.black);
> >> graphics.drawRoundRectangle(getBounds().shrink(1, 1), 50, 50);
> >> // graphics.fillGradient(getBounds(), true);
> >> }
> >>
> >>
> >> @Override
> >> public void paint(Graphics graphics) {
> >> graphics.setAntialias(SWT.ON);
> >> super.paint(graphics);
> >> }
> >>
> >> };
> >> fig.setBounds(new Rectangle(100, 100, 100, 100));
> >> contents.add(fig);
> >>
> >> lws.setContents(contents);
> >> shell.open();
> >> while (!shell.isDisposed())
> >> while (!d.readAndDispatch())
> >> d.sleep();
> >> }
> >> }
> >>
>
|
|
|
Re: drawRoundedRectangle doesn't work with AnitAlias activated [message #200109 is a reply to message #200094] |
Thu, 20 October 2005 19:17 |
Markus Brigl Messages: 10 Registered: July 2009 |
Junior Member |
|
|
Hi Pratik,
how can I access the GC? The Graphic Context is hidden by SWTGraphics and
not accessible from outside.
On Thu, 20 Oct 2005 12:43:19 -0400, Pratik Shah wrote:
> GC has a method setAdvanced() that you could manipulate to find out if
> there's a
>
> gc.setAdvanced(true);
> boolean advancedGraphicsInstalled = gc.getAdvanced();
> gc.setAdvanced(false);
>
> These methods aren't reflected in the Graphics class yet, though.
>
> "Max" <mbrigl@gmx.net> wrote in message
> news:pan.2005.10.20.18.34.33.844620@gmx.net...
>> Thank's it is working with cairo 1. It is possible to check if if
>> antialias (cairo) is available. In that way it would be possible to
>> activate antialias only if cairo has been installed.
>>
>> regards
>>
>> On Wed, 19 Oct 2005 11:04:59 -0400, Pratik Shah wrote:
>>
>> > You need Cairo 1.0 with Eclipse 3.2 integration builds. BTW, you
> shouldn't
>> > be modifying the bounds directly as you do in the paintFigure() method.
>> > Instead, do getBounds().getExpanded(-1,-1).
>> >
>> > "Max" <mbrigl@gmx.net> wrote in message
>> > news:pan.2005.10.19.09.23.46.601488@gmx.net...
>> >> Some methods on org.eclipse.draw2d.Graphics doesn't work on "Linux" if
>> >> antialising has been activated. I had the problem with
>> >> draw- & fillRoundedRectangle and with fillGradient.
>> >> I'm using cairo-0.1.23!
>> >>
>> >> public class Snippet {
>> >>
>> >> public static void main(String args[]) {
>> >> Display d = new Display();
>> >> final Shell shell = new Shell(d);
>> >> shell.setSize(400, 400);
>> >> LightweightSystem lws = new LightweightSystem(shell);
>> >> Figure contents = new Figure();
>> >> XYLayout contentsLayout = new XYLayout();
>> >> contents.setLayoutManager(contentsLayout);
>> >>
>> >> Figure fig = new Figure() {
>> >>
>> >> @Override
>> >> protected void paintClientArea(Graphics graphics) {
>> >> graphics.setForegroundColor(ColorConstants.black);
>> >> graphics.drawRoundRectangle(getBounds().shrink(1, 1), 50, 50);
>> >> // graphics.fillGradient(getBounds(), true);
>> >> }
>> >>
>> >>
>> >> @Override
>> >> public void paint(Graphics graphics) {
>> >> graphics.setAntialias(SWT.ON);
>> >> super.paint(graphics);
>> >> }
>> >>
>> >> };
>> >> fig.setBounds(new Rectangle(100, 100, 100, 100));
>> >> contents.add(fig);
>> >>
>> >> lws.setContents(contents);
>> >> shell.open();
>> >> while (!shell.isDisposed())
>> >> while (!d.readAndDispatch())
>> >> d.sleep();
>> >> }
>> >> }
>> >>
>>
|
|
|
Re: drawRoundedRectangle doesn't work with AnitAlias activated [message #200170 is a reply to message #200109] |
Thu, 20 October 2005 21:08 |
Eclipse User |
|
|
|
Originally posted by: none.unknown.com
https://bugs.eclipse.org/bugs/show_bug.cgi?id=103209
https://bugs.eclipse.org/bugs/show_bug.cgi?id=101504
"Max" <mbrigl@gmx.net> wrote in message
news:pan.2005.10.20.19.17.03.416219@gmx.net...
> Hi Pratik,
>
> how can I access the GC? The Graphic Context is hidden by SWTGraphics and
> not accessible from outside.
>
>
> On Thu, 20 Oct 2005 12:43:19 -0400, Pratik Shah wrote:
>
> > GC has a method setAdvanced() that you could manipulate to find out if
> > there's a
> >
> > gc.setAdvanced(true);
> > boolean advancedGraphicsInstalled = gc.getAdvanced();
> > gc.setAdvanced(false);
> >
> > These methods aren't reflected in the Graphics class yet, though.
> >
> > "Max" <mbrigl@gmx.net> wrote in message
> > news:pan.2005.10.20.18.34.33.844620@gmx.net...
> >> Thank's it is working with cairo 1. It is possible to check if if
> >> antialias (cairo) is available. In that way it would be possible to
> >> activate antialias only if cairo has been installed.
> >>
> >> regards
> >>
> >> On Wed, 19 Oct 2005 11:04:59 -0400, Pratik Shah wrote:
> >>
> >> > You need Cairo 1.0 with Eclipse 3.2 integration builds. BTW, you
> > shouldn't
> >> > be modifying the bounds directly as you do in the paintFigure()
method.
> >> > Instead, do getBounds().getExpanded(-1,-1).
> >> >
> >> > "Max" <mbrigl@gmx.net> wrote in message
> >> > news:pan.2005.10.19.09.23.46.601488@gmx.net...
> >> >> Some methods on org.eclipse.draw2d.Graphics doesn't work on "Linux"
if
> >> >> antialising has been activated. I had the problem with
> >> >> draw- & fillRoundedRectangle and with fillGradient.
> >> >> I'm using cairo-0.1.23!
> >> >>
> >> >> public class Snippet {
> >> >>
> >> >> public static void main(String args[]) {
> >> >> Display d = new Display();
> >> >> final Shell shell = new Shell(d);
> >> >> shell.setSize(400, 400);
> >> >> LightweightSystem lws = new LightweightSystem(shell);
> >> >> Figure contents = new Figure();
> >> >> XYLayout contentsLayout = new XYLayout();
> >> >> contents.setLayoutManager(contentsLayout);
> >> >>
> >> >> Figure fig = new Figure() {
> >> >>
> >> >> @Override
> >> >> protected void paintClientArea(Graphics graphics) {
> >> >> graphics.setForegroundColor(ColorConstants.black);
> >> >> graphics.drawRoundRectangle(getBounds().shrink(1, 1), 50, 50);
> >> >> // graphics.fillGradient(getBounds(), true);
> >> >> }
> >> >>
> >> >>
> >> >> @Override
> >> >> public void paint(Graphics graphics) {
> >> >> graphics.setAntialias(SWT.ON);
> >> >> super.paint(graphics);
> >> >> }
> >> >>
> >> >> };
> >> >> fig.setBounds(new Rectangle(100, 100, 100, 100));
> >> >> contents.add(fig);
> >> >>
> >> >> lws.setContents(contents);
> >> >> shell.open();
> >> >> while (!shell.isDisposed())
> >> >> while (!d.readAndDispatch())
> >> >> d.sleep();
> >> >> }
> >> >> }
> >> >>
> >>
>
|
|
|
Re: drawRoundedRectangle doesn't work with AnitAlias activated [message #200178 is a reply to message #200170] |
Thu, 20 October 2005 21:11 |
Eclipse User |
|
|
|
Originally posted by: none.unknown.com
Until then, as a workaround, you can create your own GC.
"Pratik Shah" <none@unknown.com> wrote in message
news:dj910b$vs0$1@news.eclipse.org...
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=103209
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=101504
>
> "Max" <mbrigl@gmx.net> wrote in message
> news:pan.2005.10.20.19.17.03.416219@gmx.net...
> > Hi Pratik,
> >
> > how can I access the GC? The Graphic Context is hidden by SWTGraphics
and
> > not accessible from outside.
> >
> >
> > On Thu, 20 Oct 2005 12:43:19 -0400, Pratik Shah wrote:
> >
> > > GC has a method setAdvanced() that you could manipulate to find out if
> > > there's a
> > >
> > > gc.setAdvanced(true);
> > > boolean advancedGraphicsInstalled = gc.getAdvanced();
> > > gc.setAdvanced(false);
> > >
> > > These methods aren't reflected in the Graphics class yet, though.
> > >
> > > "Max" <mbrigl@gmx.net> wrote in message
> > > news:pan.2005.10.20.18.34.33.844620@gmx.net...
> > >> Thank's it is working with cairo 1. It is possible to check if if
> > >> antialias (cairo) is available. In that way it would be possible to
> > >> activate antialias only if cairo has been installed.
> > >>
> > >> regards
> > >>
> > >> On Wed, 19 Oct 2005 11:04:59 -0400, Pratik Shah wrote:
> > >>
> > >> > You need Cairo 1.0 with Eclipse 3.2 integration builds. BTW, you
> > > shouldn't
> > >> > be modifying the bounds directly as you do in the paintFigure()
> method.
> > >> > Instead, do getBounds().getExpanded(-1,-1).
> > >> >
> > >> > "Max" <mbrigl@gmx.net> wrote in message
> > >> > news:pan.2005.10.19.09.23.46.601488@gmx.net...
> > >> >> Some methods on org.eclipse.draw2d.Graphics doesn't work on
"Linux"
> if
> > >> >> antialising has been activated. I had the problem with
> > >> >> draw- & fillRoundedRectangle and with fillGradient.
> > >> >> I'm using cairo-0.1.23!
> > >> >>
> > >> >> public class Snippet {
> > >> >>
> > >> >> public static void main(String args[]) {
> > >> >> Display d = new Display();
> > >> >> final Shell shell = new Shell(d);
> > >> >> shell.setSize(400, 400);
> > >> >> LightweightSystem lws = new LightweightSystem(shell);
> > >> >> Figure contents = new Figure();
> > >> >> XYLayout contentsLayout = new XYLayout();
> > >> >> contents.setLayoutManager(contentsLayout);
> > >> >>
> > >> >> Figure fig = new Figure() {
> > >> >>
> > >> >> @Override
> > >> >> protected void paintClientArea(Graphics graphics) {
> > >> >> graphics.setForegroundColor(ColorConstants.black);
> > >> >> graphics.drawRoundRectangle(getBounds().shrink(1, 1), 50, 50);
> > >> >> // graphics.fillGradient(getBounds(), true);
> > >> >> }
> > >> >>
> > >> >>
> > >> >> @Override
> > >> >> public void paint(Graphics graphics) {
> > >> >> graphics.setAntialias(SWT.ON);
> > >> >> super.paint(graphics);
> > >> >> }
> > >> >>
> > >> >> };
> > >> >> fig.setBounds(new Rectangle(100, 100, 100, 100));
> > >> >> contents.add(fig);
> > >> >>
> > >> >> lws.setContents(contents);
> > >> >> shell.open();
> > >> >> while (!shell.isDisposed())
> > >> >> while (!d.readAndDispatch())
> > >> >> d.sleep();
> > >> >> }
> > >> >> }
> > >> >>
> > >>
> >
>
>
|
|
| | | |
Goto Forum:
Current Time: Mon Dec 09 20:12:41 GMT 2024
Powered by FUDForum. Page generated in 0.03961 seconds
|