AbstractBorder.st
author Claus Gittinger <cg@exept.de>
Fri, 23 Oct 2009 17:23:50 +0200
changeset 5392 9cc77e8151a4
parent 5374 fa6ec7dc8508
child 5407 767945d3ad71
permissions -rw-r--r--
category

"
 COPYRIGHT (c) 1997 by eXept Software AG
 COPYRIGHT (c) 2009 by eXept Software AG
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
"{ Package: 'stx:libview' }"

Object subclass:#AbstractBorder
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Graphics-Support'
!

!AbstractBorder class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 1997 by eXept Software AG
 COPYRIGHT (c) 2009 by eXept Software AG
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
!

documentation
"
    Extracted from Border.
    Common superclass for border-painters.
    This will replace the mixture of window-system supported borders and manually
    drawn 3D levels (which is ugly, but served me well for almost 20years now).

    [author:]
        Claus Gittinger
"
! !

!AbstractBorder class methodsFor:'instance creation'!

width:borderWidth
    "create a new instance of the receiver with a border of the given width  
     (and default color)."

    ^ self new width:borderWidth color:(Color black)

    "Modified: 10.2.1997 / 15:19:57 / cg"
!

width:borderWidth color:aColor
    "create a new instance of the receiver with a border of the given width  
     and color."

    ^ self new setBorderWidth:borderWidth color:aColor

    "Modified: 10.2.1997 / 15:20:32 / cg"
! !

!AbstractBorder methodsFor:'accessing'!

setBorderWidth:aWidth color:aColor
     self setBorderWidth:aWidth.
     self setBorderColor:aColor

    "Created: 10.2.1997 / 15:21:27 / cg"
! !

!AbstractBorder methodsFor:'displaying'!

displayOn:aGC forDisplayBox:aRectangle
    "display the borders represented by the receiver in the specified rectangle.
     The gc is restored after the draw."

    self displayOn:aGC forDisplayBox:aRectangle using:nil

    "Modified: 10.2.1997 / 14:56:10 / cg"
!

displayOn:aGC forDisplayBox:aRectangle using:colorSource
    self subclassResponsibility
! !

!AbstractBorder methodsFor:'private accessing'!

setBorderColor:arg
    "raise an error: must be redefined in concrete subclass(es)"

    ^ self subclassResponsibility
!

setBorderWidth:arg
    "raise an error: must be redefined in concrete subclass(es)"

    ^ self subclassResponsibility
! !

!AbstractBorder class methodsFor:'documentation'!

version_CVS
    ^ '$Header: /cvs/stx/stx/libview/AbstractBorder.st,v 1.2 2009-10-23 15:23:50 cg Exp $'
! !