swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: drawing on ZoomRaster


From: Marshall James
Subject: Re: drawing on ZoomRaster
Date: Fri, 22 Jan 1999 14:54:07 +0100

Hi,
  I compiled and ran that program and it produced some funny results...
although the colourmap is supposed to be green and orange, the raster was
actually displayed as black and dark grey. Changing the colours in the
colourmap to black and white and recompiling did not change the appearance
of the raster. Not sure what's happening here... I'm running Swarm-1.3.1
direct from the CD-ROM under Windows NT 4.0, with a 32768 colour display.
        James

A 08:34 21/01/99 -0800, vous avez écrit :
>>>>>> "JM" == Marshall James <address@hidden> writes:
>
>JM> the coordinates given are within the
>JM> limits of the ZoomRaster, and I call [display drawSelf] after, yet
>JM> no ellipses appear on my ZoomRaster! Can anyone suggest why this
>JM> might be?
>
>Colormap entry is the same as the background color?
>Too big of a zoom?
>
>Anyway, here's a test program that demonstrates ZoomRaster and
>ellipses. 
>
>#import <objectbase/SwarmObject.h>
>#import <simtools.h>
>#import <gui.h>
>#import <random.h>
>
>#define XSIZE 100
>#define YSIZE 100
>
>@interface MyClass: SwarmObject
>{
>  id <Colormap> colormap;
>  id <ZoomRaster> raster;
>  id <ButtonPanel> panel;
>}
>- drawEllipse;
>@end
>
>@implementation MyClass
>
>- exit
>{
>  exit (0);
>}
>
>- drawEllipse
>{
>  int yradius = [uniformIntRand getIntegerWithMin: 0 withMax: 50];
>  int xradius = [uniformIntRand getIntegerWithMin: 0 withMax: 50];
>  int x0 = 50 - xradius;
>  int y0 = 50 - xradius;
>  int x1 = 50 + yradius;
>  int y1 = 50 + yradius;
>
>  [raster erase];
>  [raster ellipseX0: x0 Y0: y0 X1: x1 Y1: y1 Width: 1 Color: 1];
>  [raster drawSelf];
>
>  return self;
>}
>
>- zoomIn
>{
>  [raster increaseZoom];
>  [self drawEllipse];
>
>  return self;
>}
>
>- zoomOut
>{
>  [raster decreaseZoom];
>  [self drawEllipse];
>
>  return self;
>}
>
>- createEnd
>{ 
>  id <Zone> aZone = [self getZone];
>
>  colormap = [Colormap create: aZone];
>  [colormap setColor: 0 ToName: "green"];
>  [colormap setColor: 1 ToName: "orange"];
>  
>  raster = [ZoomRaster create: aZone];
>  [raster setColormap: colormap];
>  [raster setWidth: XSIZE Height: YSIZE];
>  [raster setWindowTitle: "Raster"];
>  [raster setZoomFactor: 1];
>  [raster pack];
>  
>  panel = [ButtonPanel createBegin: [self getZone]];
>  [panel setButtonTarget: self];
>  panel = [panel createEnd];
>  [panel setWindowTitle: "ControlPanel"];
>  [panel addButtonName: "ZoomIn" method: @selector (zoomIn)];
>  [panel addButtonName: "ZoomOut" method: @selector (zoomOut)];
>  [panel addButtonName: "Redraw" method: @selector (drawEllipse)];
>  [panel addButtonName: "Exit" method: @selector (exit)];
>  
>  return self;
>}
>@end
>
>main (int argc, const char **argv)
>{ 
>  id mainObj;
>
>  initSwarm (argc, argv);
>
>  mainObj = [MyClass create: globalZone];
>  [mainObj drawEllipse];
>
>  while (1) { while (GUI_EVENT_ASYNC ()) {} }
>}
>
>/*
>Local Variables:
>compile-command: "/opt/gnu/bin/gcc -V 2.7.2.3 -o zr -g -Wno-import
-L/opt/SUNWtcl/8.0/sun4/lib -R/opt/SUNWtcl/8.0/sun4/lib
-L/opt/SDGblt/2.4f/lib -R/opt/SDGblt/2.4f/lib -L/opt/SDGlibffi/1.20/lib
-R/opt/SDGlibffi/1.20/lib -L/opt/SDGswarm/1.3.1/lib
-L/opt/SDGzlib/1.1.3/lib -L/usr/local/X11/lib -L/usr/openwin/lib
-R/usr/openwin/lib -L/usr/local/lib -I/opt/SDGswarm/1.3.1/include zr.m
-lsimtools -lsimtoolsgui -lactivity -ltkobjc -lrandom -lobjectbase
-ldefobj -lcollections -lmisc  -ltclobjc -ltk8.0 -ltcl8.0End:
>*/
>
>                  ==================================
>   Swarm-Support is for discussion of the technical details of the day
>   to day usage of Swarm.  For list administration needs (esp.
>   [un]subscribing), please send a message to <address@hidden>
>   with "help" in the body of the message.
>
>
>
--

James Marshall - Research Assistant - COTCOS Project
  Institut de Recherche en Informatique de Toulouse
      WWW: http://www.mk.dmu.ac.uk/~jmarshall

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]