What are the default values for the templateGraphic

Jim Hurley jhurley at infostations.com
Fri Nov 26 12:27:32 EST 2004


>
>Recently, Jim Hurley wrote:
>
>>  I've discovered I don't understand the templateGraphic. In the docs it says:
>>
>>  Use the templateGraphic keyword to set up default properties to be
>>  used for any new graphics you create.....The properties of the
>>  templateGraphic are reset to their defaults when all running handlers
>>  finish executing.
>>
>>  However the following handler give me a circle whose 
>>foregroundcolor is white.
>>
>>  local x0,y0
>>
>>  on circle radius
>>   reset templateGraphic
>>   if there is no graphic "myCircle" then create graphic "myCircle"
>>   set the style of graphic  "myCircle" to  oval
>>   set the  rect of graphic "myCircle" to
>>  x0-radius,y0-radius,x0+radius,y0+radius
>  > end circle
>>
>>  This implies that the default value of the foregroundcolor of the
>>  templateGraphic is white. At least for this particular stack. I can,
>>  of course, set the foregroundcolor to black--but only after the
>>  "reset templategraphic." (I did have an earlier problem with this
>>  stack--it did appeared that all the foregroundcolors were set to
>>  white throughout the stack. Maybe the stack is corrupted.)
>>
>>  If I create a new stack, the same handler gives me a black
>>  foregroundcolor for the circle.
>>
>>  Are there default values for the templateGraphic that apply to the
>>  *stack*? How would one get the default values of the templateGraphic?
>
>The templateGraphic is used to set properties of any graphic you create
>*before* you create it.  In the above example, you should be able to set
>your properties before calling "create graphic".  "resetGraphic" is usually
>called after changing the template to restore the template object to
>"normal".
>
>Try this:
>
>  on circle radius
>   if not there is a graphic "myCircle" then
>     set the style of the templateGraphic to oval
>     set the  rect of the templateGraphic to \
>        x0-radius,y0-radius,x0+radius,y0+radius
>     set the name of the templateGraphic to "myCircle"
>     create graphic
>     reset the templateGraphic
>   end if
>  end circle
>
>
>Regards,
>
>Scott Rossi
>Creative Director
>Tactile Media, Development & Design
>-----


Scott,

Thanks for your response.

However, when I use your "circle" above I get an opaque circle filled 
with the color yellow. That was why I inserted the reset the 
templateGraphic *before* creating the circle graphic--but only with 
this stack. I suspect there is something corrupted in my stack--how 
many times has this easy assumption turned out to be wrong?

I can, as I said, set the foregoundcolor to black, but I should have 
thought that that would be the default value--the value you would get 
after one "reset the templateGraphic".

The only way I can think of testing this issue is to examine the 
default values of the templategraphic, and this I don't see how to do.

Jim


More information about the use-livecode mailing list