{ Common GEM type definitions for Personal Pascal library. }

    Color_Reg  = 0..15 ;
    Draw_Modes = Replace_Mode..Rev_Trans_Mode ;
    Line_Types = Solid..DashDotDot ;

    Mouse_Type = ( M_Arrow, M_Text_Curs, M_Bee, M_Point_Hand, M_Flat_Hand,
                   M_Thin_Cross, M_Thick_Cross, M_Outln_Cross ) ;

    Dialog_Ptr	= ^CHAR ;  {arbitrary pointer type}
    Menu_Ptr	= ^CHAR ;  {arbitrary pointer type}
    Word16 	= ARRAY [ 0..15 ] OF Short_Integer ;
    Mouse_Form 	= RECORD
			hot_x	   : Short_Integer ;
			hot_y	   : Short_Integer ;
			res	   : Short_Integer ;
			mask_color : Short_Integer ;
			data_color : Short_Integer ;
			mask	   : Word16 ;
			data	   : Word16 ;
		  END ;

    File_Name	 = STRING [ Max_Fn ] ;
    Path_Name	 = STRING [ Max_Path ] ;
    Window_Title = STRING [ Max_WTitle ] ;

    Message_Buffer = ARRAY [ 0..15 ] OF Short_Integer ;

    Str255	= STRING [ 255 ] ;

  { Editable text justification: }
    TE_Just	= ( TE_Left, TE_Right, TE_Center ) ;

  { Possible indices into a tree: }
    Tree_Range = Root..Max_Tree ;
    Tree_Index = Null_Index..Max_Tree ;

  { AES- and VDI-Types}

     POINTER = ^CHAR;  {Arbitrary pointer type...actual type situation dependent}

     Int_In_parms    = ARRAY [0..15]   OF Short_Integer;
     Int_Out_parms   = ARRAY [0..45]   OF Short_Integer;
     Addr_In_parms   = ARRAY [0..1]    OF Pointer;
     Addr_Out_parms  = ARRAY [0..0]    OF Pointer;
     Ctrl_Parms      = ARRAY [ 0..11 ] OF Short_Integer ;
     Pts_In_Parms    = ARRAY [ 0..11 ] OF Short_Integer ;
     Pts_Out_Parms   = ARRAY [ 0..11 ] OF Short_Integer ;

{ End of TYPEs used in GEM library definitions }
