At 19:59 Uhr +0000 09.05.2001, [EMAIL PROTECTED] wrote:

Didn't try it and don't know if that really helps, but for a starter, 
to get rid of all the question marks and "presumablys" I'd suggest 
you get yourself the Universal Headers from Apple and search them 
using BBedit or the like to get the *real* definitions for the 
records. Every defined datatype can be mapped down to simple C or 
Pascal style data types. E.g.:

TESetStyle              (short                          mode,
                        const TextStyle *                       newStyle,
                        Boolean                         fRedraw,
                        TEHandle                                hTE)

Then look for struct TextStyle

struct TextStyle {
        short                           tsFont;                 /*font (family) 
number*/
        StyleField                      tsFace;                 /*character Style*/
        short                           tsSize;                 /*size in point*/
        RGBColor                        tsColor;                        /*absolute 
(RGB) color*/
};

And after that lookup struct StyleField and struct RGBColor

        StyleField                      Style when used as a field (historical 
68K convention)

        Note:  The original Macintosh toolbox in 68K Pascal defined 
Style as a SET. 
                Both Style and CHAR occupy 8-bits in packed records or 16-bits when
                used as fields in non-packed records or as parameters.
        StyleField              /*StyleField occupies 16-bits, but only 
first 8-bits are used*/

struct RGBColor {
        unsigned short          red;                    /*magnitude of red component*/
        unsigned short          green;                  /*magnitude of green 
component*/
        unsigned short          blue;                   /*magnitude of blue component*/
};

 From what I can see, there is no special meaning implied for 
"absolute RGBColor", it's just a simple RGB Color.

Hope this helps somehow.

>IM leads me to believe that to set a text style in TextEdit you call
>TESetStyle(TESetStyle MODE, NEWSTYLE, FREDRAW, HTE).
>
>'NEWSTYLE', it seems, should be a 'record':
>
>          short           tsFont       (font ID)
>       short (?)  tsFace       (font face, 'bold' etc. -- presumably a short?)
>       short      tsSize       (font size in points)
>          ????    RGB          (absolute RGB color)
>
>Now what, for starters, is meant by "_absolute_ RGB Color"?
>
>I have tried this in a hopeful sort of a way...
>
>          my $col = RGBColor->new(0xFFFF, 0, 0);
>
>       my $ts  = { tsFont   =>  20,
>                      tsFace   =>   1,
>                      tsSize   =>  24,
>                     tsColor   =>  $col };
>
>          my $text_style = bless $ts, "TextStyle";
>
>          TESetStyle(doAll, $text_style, 1, $hte);
>
>...to no effect at all. As far as I can see it does absolutely nothing.
>
>Anyone any ideas?
>
>Alan Fry

-- 

___ Peter Hartmann ________

mailto:[EMAIL PROTECTED]

Reply via email to