; Copyright 1996 Acorn Computers Ltd
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
;     http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
        SUBT    Exported Draw constants

OldOpt  SETA    {OPT}
        OPT     OptNoList+OptNoP1List

; ***********************************
; ***    C h a n g e   L i s t    ***
; ***********************************

; Date       Name  Description
; ----       ----  -----------
; 17-May-94  AMcC  Changed to using the preferred SWI base and name symbols

SWIClass        SETS    DrawSWI_Name

        ^       DrawSWI_Base

        AddSWI  ProcessPath         ; &40700
        AddSWI  ProcessPathFP       ; &40701
        AddSWI  Fill                ; &40702
        AddSWI  FillFP              ; &40703
        AddSWI  Stroke              ; &40704
        AddSWI  StrokeFP            ; &40705
        AddSWI  StrokePath          ; &40706
        AddSWI  StrokePathFP        ; &40707
        AddSWI  FlattenPath         ; &40708
        AddSWI  FlattenPathFP       ; &40709
        AddSWI  TransformPath       ; &4070A
        AddSWI  TransformPathFP     ; &4070B
        AddSWI  FillClipped         ; &4070C
        AddSWI  FillClippedFP       ; &4070D
        AddSWI  StrokeClipped       ; &4070E
        AddSWI  StrokeClippedFP     ; &4070F

;
; The scaling factor between Draw and OS co-ordinates, given as its logarithm
; base 2.
;

Draw_LgScalingFactor            EQU     8

;
; Draw vector reason codes
;
                                ^       0
DrawReas_ProcessPath            #       1       ;0
DrawReas_ProcessPathFP          #       1       ;1
DrawReas_Fill                   #       1       ;2
DrawReas_FillFP                 #       1       ;3
DrawReas_Stroke                 #       1       ;4
DrawReas_StrokeFP               #       1       ;5
DrawReas_StrokePath             #       1       ;6
DrawReas_StrokePathFP           #       1       ;7
DrawReas_FlattenPath            #       1       ;8
DrawReas_FlattenPathFP          #       1       ;9
DrawReas_TransformPath          #       1       ;10
DrawReas_TransformPathFP        #       1       ;11
DrawReas_FillClipped            #       1       ;12
DrawReas_FillClippedFP          #       1       ;13
DrawReas_StrokeClipped          #       1       ;14
DrawReas_StrokeClippedFP        #       1       ;15
NumberOfDrawReasons             #       0       ;16

;
; Special values of R7 for Draw_ProcessPath and Draw_ProcessPath
;
                                ^       0
DrawSpec_InSitu                 #       1       ;0
DrawSpec_Fill                   #       1       ;1
DrawSpec_FillBySubpaths         #       1       ;2
DrawSpec_Count                  #       1       ;3
NumberOfSpecialDraws            #       0       ;4

;
; Fill styles
;

FillStyle_OverallMask           EQU     &3F

FillStyle_RuleMask              EQU     &03
FillStyle_NonZeroRule           EQU     &00
FillStyle_NegativeOnlyRule      EQU     &01
FillStyle_EvenOddRule           EQU     &02
FillStyle_PositiveOnlyRule      EQU     &03

FillStyle_PlotFullExterior      EQU     &04
FillStyle_PlotExteriorBoundary  EQU     &08
FillStyle_PlotInteriorBoundary  EQU     &10
FillStyle_PlotFullInterior      EQU     &20

;
; ProcessPath flags
;

ProcessPath_FlagsMask           EQU     &FE000000
ProcessPath_R7IsBoundingBox     EQU     &02000000
ProcessPath_R7IsThirtyTwoBit    EQU     &04000000
ProcessPath_CloseOpenSubpaths   EQU     &08000000
ProcessPath_Flatten             EQU     &10000000
ProcessPath_Thicken             EQU     &20000000
ProcessPath_Reflatten           EQU     &40000000
ProcessPath_Float               EQU     &80000000

        OPT     OldOpt
        END
