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