[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
[news.eclipse.tools.gef] Re: drawRoundedRectangle doesn't work with AnitAlias activated
|
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@xxxxxxx> wrote in message
news:pan.2005.10.19.09.23.46.601488@xxxxxxxxxx
> 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();
> }
> }
>