shelltypes.h

Go to the documentation of this file.
00001 
00002 /*  $Id: shelltypes.h 355 2005-01-11 22:48:55Z andreradke $    */
00003 
00004 /******************************************************************************
00005 
00006     UserLand Frontier(tm) -- High performance Web content management,
00007     object database, system-level and Internet scripting environment,
00008     including source code editing and debugging.
00009 
00010     Copyright (C) 1992-2004 UserLand Software, Inc.
00011 
00012     This program is free software; you can redistribute it and/or modify
00013     it under the terms of the GNU General Public License as published by
00014     the Free Software Foundation; either version 2 of the License, or
00015     (at your option) any later version.
00016 
00017     This program is distributed in the hope that it will be useful,
00018     but WITHOUT ANY WARRANTY; without even the implied warranty of
00019     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020     GNU General Public License for more details.
00021 
00022     You should have received a copy of the GNU General Public License
00023     along with this program; if not, write to the Free Software
00024     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00025 
00026 ******************************************************************************/
00027 
00028 #ifndef shelltypesinclude
00029 #define shelltypesinclude
00030 
00031 #ifdef HEADERTRACE
00032 #pragma message( "**Compiling " __FILE__ )
00033 #endif
00034 
00035 #define diskfontnamelength 32 /*number of bytes for a font name stored on disk*/
00036 
00037 typedef char diskfontstring [diskfontnamelength + 1];
00038 
00039 typedef struct diskrect {
00040     
00041     short top;
00042     
00043     short left;
00044     
00045     short bottom;
00046     
00047     short right;
00048     } diskrect;
00049 
00050 typedef struct diskrgb {
00051     
00052     short red;
00053     
00054     short green;
00055     
00056     short blue;
00057     } diskrgb;
00058 
00059 #ifdef NEWFILESPECTYPE
00060     typedef struct newtyfilespec {
00061     
00062         short fileTypeID;
00063         
00064         short lengthOfFileSpecifier;
00065         
00066         long volumeID;
00067         
00068         char fullSpecifier[258];
00069         
00070         Handle fileSpecifier;
00071         
00072         long macSpecifier;  
00073         } tyfilespec, *ptrfilespec, **hdlfilespec;
00074     
00075     #define fsname(fs) (fs)->fullSpecifier
00076     
00077 #else
00078     typedef FSSpec tyfilespec, *ptrfilespec, **hdlfilespec;
00079     
00080     #define fsname(fs) (fs)->name
00081 #endif
00082 
00083 #ifdef MACVERSION
00084 typedef ControlHandle hdlscrollbar;
00085 #endif
00086 
00087 #ifdef WIN95VERSION
00088 typedef struct tyscrollbarrecord
00089     {
00090     HWND hWnd;
00091     int  item;
00092     } scrollbarrecord, *ptrscrollbarrecord, **hdlscrollbar;
00093 #endif
00094 
00095 #ifdef MACVERSION
00096     typedef MenuHandle hdlmenu;
00097 #endif
00098 
00099 #ifdef WIN95VERSION
00100     typedef HMENU hdlmenu;
00101 #endif
00102 
00103 
00104 typedef struct tytextdisplayinfo { 
00105 
00106     short h; /*the horizontal pen position for all lines*/
00107     
00108     short v; /*the vertical pen position for the first line*/
00109     
00110     short lh; /*the uniform lineheight of all lines*/
00111     
00112     short screenlines; /*the number of lines that fit within the current window's rectangle*/
00113     
00114     Rect r; /*the rectangle within which everything is displayed*/
00115     
00116     short horizscrollpixels; /*number of pixels to scroll by for each horiz scroll*/
00117     } tytextdisplayinfo;
00118 
00119 
00120 typedef short **hdlintarray;
00121 
00122 
00123 typedef struct typopuprecord { /*this record isn't currently used*/
00124     
00125     Rect popuprect; /*where the whole popup structure is displayed*/
00126     } typopuprecord, *ptrpopuprecord, **hdlpopuprecord;
00127 
00128 
00129 typedef OSType tyscraptype;
00130 
00131 
00132 typedef ProcessSerialNumber typrocessid;
00133 
00134 
00135 typedef enum clickflags { /*these match #defines in Paige.h*/
00136 
00137     clicknormal = 0,
00138     
00139     clickextend = 0x0001, /* extend the selection */
00140     
00141     clickwords = 0x0002, /* select whole words only */
00142 
00143     clickparas = 0x0004, /* select whole paragraphs only */
00144 
00145     clicklines = 0x0008, /* highlight whole lines */
00146 
00147     clickvertical = 0x0010, /* allow vertical selection */
00148 
00149     clickdiscontiguous = 0x0020, /* enable discontiguous selection */
00150 
00151     clickstyle = 0x0040, /* select whole style range */
00152 
00153     clickcontrol = 0x0200, /* word advance for arrows, Home-End to doc top and bottom */
00154 
00155     clickoption = 0x0400, /* option key held down */
00156 
00157     clickcommand =  0x0800  /* alt key (Windows) or command key (Mac) */
00158     
00159     } tyclickflags;
00160 
00161 
00162 typedef enum tykeyflags { /*these match tyclickflags, but apply to keystrokes*/
00163 
00164     keynormal = 0,
00165     
00166     keyshift = 0x0001,
00167 
00168     keycontrol = 0x0200,
00169 
00170     keyoption = 0x0400,
00171 
00172     keycommand = 0x0800
00173     
00174     } tykeyflags;
00175 
00176 
00177 typedef struct tybuttonstatus {
00178     
00179     boolean fldisplay; /*should button be displayed at all?*/
00180     
00181     boolean flenabled; /*if displayed, is it active (or dimmed)?*/
00182     
00183     boolean flbold; /*if displayed, should text style be bold?*/
00184     } tybuttonstatus;
00185 
00186 #endif

Generated on Wed May 31 18:20:01 2006 for frontierkernel 10.1.10a by  doxygen 1.4.6