GraphicsAttributes.st
author claus
Sun, 23 Jul 1995 04:29:59 +0200
changeset 157 891eff44c2e7
parent 154 871a750ba914
child 219 9ff0660f447f
permissions -rw-r--r--
.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
151
claus
parents:
diff changeset
     1
"
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1995 by Claus Gittinger
claus
parents:
diff changeset
     3
	      All Rights Reserved
claus
parents:
diff changeset
     4
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
claus
parents:
diff changeset
    10
 hereby transferred.
claus
parents:
diff changeset
    11
"
claus
parents:
diff changeset
    12
claus
parents:
diff changeset
    13
Object subclass:#GraphicsAttributes
claus
parents:
diff changeset
    14
       instanceVariableNames:'paint
claus
parents:
diff changeset
    15
			      font
claus
parents:
diff changeset
    16
			      lineStyle lineWidth
claus
parents:
diff changeset
    17
			      joinStyle capStyle
claus
parents:
diff changeset
    18
			      maskOrigin'
claus
parents:
diff changeset
    19
       classVariableNames:'' 
claus
parents:
diff changeset
    20
       poolDictionaries:''
claus
parents:
diff changeset
    21
       category:'Graphics-Support'
claus
parents:
diff changeset
    22
!
claus
parents:
diff changeset
    23
claus
parents:
diff changeset
    24
GraphicsAttributes comment:'
claus
parents:
diff changeset
    25
COPYRIGHT (c) 1992 by Claus Gittinger
claus
parents:
diff changeset
    26
	      All Rights Reserved
claus
parents:
diff changeset
    27
157
claus
parents: 154
diff changeset
    28
$Header: /cvs/stx/stx/libview/GraphicsAttributes.st,v 1.3 1995-07-23 02:27:20 claus Exp $
151
claus
parents:
diff changeset
    29
'!
claus
parents:
diff changeset
    30
claus
parents:
diff changeset
    31
!GraphicsAttributes class methodsFor:'documentation'!
claus
parents:
diff changeset
    32
claus
parents:
diff changeset
    33
copyright
claus
parents:
diff changeset
    34
"
claus
parents:
diff changeset
    35
 COPYRIGHT (c) 1992 by Claus Gittinger
claus
parents:
diff changeset
    36
	      All Rights Reserved
claus
parents:
diff changeset
    37
claus
parents:
diff changeset
    38
 This software is furnished under a license and may be used
claus
parents:
diff changeset
    39
 only in accordance with the terms of that license and with the
claus
parents:
diff changeset
    40
 inclusion of the above copyright notice.   This software may not
claus
parents:
diff changeset
    41
 be provided or otherwise made available to, or used by, any
claus
parents:
diff changeset
    42
 other person.  No title to or ownership of the software is
claus
parents:
diff changeset
    43
 hereby transferred.
claus
parents:
diff changeset
    44
"
claus
parents:
diff changeset
    45
!
claus
parents:
diff changeset
    46
claus
parents:
diff changeset
    47
version
claus
parents:
diff changeset
    48
"
157
claus
parents: 154
diff changeset
    49
$Header: /cvs/stx/stx/libview/GraphicsAttributes.st,v 1.3 1995-07-23 02:27:20 claus Exp $
151
claus
parents:
diff changeset
    50
"
claus
parents:
diff changeset
    51
!
claus
parents:
diff changeset
    52
claus
parents:
diff changeset
    53
documentation
claus
parents:
diff changeset
    54
"
claus
parents:
diff changeset
    55
    instances keep multiple graphics attributes as used in a graphicsContext.
claus
parents:
diff changeset
    56
    They can be used when multiple attributes are to be set.
157
claus
parents: 154
diff changeset
    57
    This class is (currently) not used by the system, but has been added
claus
parents: 154
diff changeset
    58
    to make porting of existing ST-80 applications easier.
151
claus
parents:
diff changeset
    59
claus
parents:
diff changeset
    60
    Instance variables:
claus
parents:
diff changeset
    61
claus
parents:
diff changeset
    62
	paint           <Color>         the paint to be used for drawing
claus
parents:
diff changeset
    63
	font            <Font>          the font to be used for drawing
claus
parents:
diff changeset
    64
	lineStyle       <Symbol>        the lineStyle (i.e. #solid, #dashed, #doubleDashed)
claus
parents:
diff changeset
    65
	lineWidth       <SmallInteger>  the lineWidth (device dependent, usually pixels)
claus
parents:
diff changeset
    66
	joinStyle       <Symbol>        the style in which lines (in polygons)
claus
parents:
diff changeset
    67
					are joined (i.e. #miter, #bevel, #round)
claus
parents:
diff changeset
    68
	capStyle        <Symbol>        the style in which the last point of a line is drawn
claus
parents:
diff changeset
    69
					(i.e. #notLast, #butt, #round, #projecting)
claus
parents:
diff changeset
    70
	maskOrigin      <Point>         the origin of the mask relative to
claus
parents:
diff changeset
    71
					the drawables origin
claus
parents:
diff changeset
    72
claus
parents:
diff changeset
    73
    CAVEAT: the maskOrigin is called phase in ST-80
claus
parents:
diff changeset
    74
"
claus
parents:
diff changeset
    75
! !
claus
parents:
diff changeset
    76
claus
parents:
diff changeset
    77
!GraphicsAttributes methodsFor:'installing'!
claus
parents:
diff changeset
    78
claus
parents:
diff changeset
    79
installOn:aGC
claus
parents:
diff changeset
    80
    paint notNil ifTrue:[aGC paint:paint].
claus
parents:
diff changeset
    81
    font notNil ifTrue:[aGC font:font].
154
claus
parents: 151
diff changeset
    82
    lineWidth notNil ifTrue:[aGC lineWidth:lineWidth].
151
claus
parents:
diff changeset
    83
    lineStyle notNil ifTrue:[aGC lineStyle:lineStyle].
claus
parents:
diff changeset
    84
    joinStyle notNil ifTrue:[aGC joinStyle:joinStyle].
claus
parents:
diff changeset
    85
    capStyle notNil ifTrue:[aGC capStyle:capStyle].
claus
parents:
diff changeset
    86
    maskOrigin notNil ifTrue:[aGC maskOrigin:capStyle].
claus
parents:
diff changeset
    87
! !
claus
parents:
diff changeset
    88
claus
parents:
diff changeset
    89
!GraphicsAttributes methodsFor:'accessing'!
claus
parents:
diff changeset
    90
claus
parents:
diff changeset
    91
paint
claus
parents:
diff changeset
    92
    "return the current paint drawing color"
claus
parents:
diff changeset
    93
claus
parents:
diff changeset
    94
    ^ paint
claus
parents:
diff changeset
    95
!
claus
parents:
diff changeset
    96
claus
parents:
diff changeset
    97
paint:aColor
claus
parents:
diff changeset
    98
    "set the drawing painting color"
claus
parents:
diff changeset
    99
claus
parents:
diff changeset
   100
    paint := aColor
claus
parents:
diff changeset
   101
!
claus
parents:
diff changeset
   102
claus
parents:
diff changeset
   103
lineWidth
claus
parents:
diff changeset
   104
    "return the drawing linewidth"
claus
parents:
diff changeset
   105
claus
parents:
diff changeset
   106
    ^ lineWidth
claus
parents:
diff changeset
   107
!
claus
parents:
diff changeset
   108
claus
parents:
diff changeset
   109
lineWidth:aNumber
claus
parents:
diff changeset
   110
    "set the line drawing width in pixels"
claus
parents:
diff changeset
   111
claus
parents:
diff changeset
   112
    lineWidth := aNumber
claus
parents:
diff changeset
   113
!
claus
parents:
diff changeset
   114
claus
parents:
diff changeset
   115
lineStyle
claus
parents:
diff changeset
   116
    "return the line-drawing-style"
claus
parents:
diff changeset
   117
claus
parents:
diff changeset
   118
    ^ lineStyle
claus
parents:
diff changeset
   119
!
claus
parents:
diff changeset
   120
claus
parents:
diff changeset
   121
lineStyle:aStyleSymbol
claus
parents:
diff changeset
   122
    "set the line-drawing-style;
claus
parents:
diff changeset
   123
     possible styles are: #solid, #dashed, #doubleDashed"
claus
parents:
diff changeset
   124
claus
parents:
diff changeset
   125
    lineStyle := aStyleSymbol
claus
parents:
diff changeset
   126
!
claus
parents:
diff changeset
   127
claus
parents:
diff changeset
   128
capStyle
claus
parents:
diff changeset
   129
    "return the cap-style for line-drawing"
claus
parents:
diff changeset
   130
claus
parents:
diff changeset
   131
    ^ capStyle
claus
parents:
diff changeset
   132
!
claus
parents:
diff changeset
   133
claus
parents:
diff changeset
   134
capStyle:aStyleSymbol
claus
parents:
diff changeset
   135
    "set the cap-style for line-drawing;
claus
parents:
diff changeset
   136
     possible styles are: #notLast, #butt, #round, #projecting"
claus
parents:
diff changeset
   137
claus
parents:
diff changeset
   138
    capStyle := aStyleSymbol
claus
parents:
diff changeset
   139
!
claus
parents:
diff changeset
   140
claus
parents:
diff changeset
   141
joinStyle
claus
parents:
diff changeset
   142
    "return the join-style for polygon-drawing"
claus
parents:
diff changeset
   143
claus
parents:
diff changeset
   144
    ^ joinStyle
claus
parents:
diff changeset
   145
!
claus
parents:
diff changeset
   146
claus
parents:
diff changeset
   147
joinStyle:aStyleSymbol
claus
parents:
diff changeset
   148
    "set the join-style of lines in polygon-drawing;
claus
parents:
diff changeset
   149
     possible styles are: #miter, #bevel, #round"
claus
parents:
diff changeset
   150
claus
parents:
diff changeset
   151
    joinStyle := aStyleSymbol
claus
parents:
diff changeset
   152
!
claus
parents:
diff changeset
   153
claus
parents:
diff changeset
   154
font
claus
parents:
diff changeset
   155
    "return the drawing font"
claus
parents:
diff changeset
   156
claus
parents:
diff changeset
   157
    ^ font
claus
parents:
diff changeset
   158
!
claus
parents:
diff changeset
   159
claus
parents:
diff changeset
   160
font:aFont
claus
parents:
diff changeset
   161
    "set the drawing font"
claus
parents:
diff changeset
   162
claus
parents:
diff changeset
   163
    font := aFont
claus
parents:
diff changeset
   164
!
claus
parents:
diff changeset
   165
claus
parents:
diff changeset
   166
maskOrigin:aPoint
claus
parents:
diff changeset
   167
    "set the origin within the mask (used to draw with patterns).
claus
parents:
diff changeset
   168
     This is an alias for ST-80's #phase"
claus
parents:
diff changeset
   169
claus
parents:
diff changeset
   170
    maskOrigin := aPoint
claus
parents:
diff changeset
   171
!
claus
parents:
diff changeset
   172
claus
parents:
diff changeset
   173
maskOriginX:x y:y
claus
parents:
diff changeset
   174
    "set the origin within the mask (used to draw with patterns)."
claus
parents:
diff changeset
   175
claus
parents:
diff changeset
   176
    ^ maskOrigin
claus
parents:
diff changeset
   177
!
claus
parents:
diff changeset
   178
claus
parents:
diff changeset
   179
phase:aPoint
claus
parents:
diff changeset
   180
    "set the origin within the mask (used to draw with patterns).
claus
parents:
diff changeset
   181
     This is an alias for ST/X's #maskOrigin:"
claus
parents:
diff changeset
   182
claus
parents:
diff changeset
   183
    maskOrigin := aPoint
claus
parents:
diff changeset
   184
!
claus
parents:
diff changeset
   185
claus
parents:
diff changeset
   186
phase
claus
parents:
diff changeset
   187
    "return the origin within the mask (used to draw with patterns).
claus
parents:
diff changeset
   188
     This is an alias for ST/X's #maskOrigin"
claus
parents:
diff changeset
   189
claus
parents:
diff changeset
   190
    ^ maskOrigin
claus
parents:
diff changeset
   191
! !
claus
parents:
diff changeset
   192
claus
parents:
diff changeset
   193