[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
[news.eclipse.tools.gef] Re: drawRoundedRectangle doesn't work with AnitAlias activated
|
- From: Max <mbrigl@xxxxxxx>
- Date: Thu, 20 Oct 2005 20:34:38 +0200
- Newsgroups: eclipse.tools.gef
- Organization: EclipseCorner
- User-agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.)
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@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();
>> }
>> }
>>