home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-21 | 7.3 KB | 241 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWShape.cpp
- // Release Version: $ 1.0d1 $
- //
- // Creation Date: 3/28/94
- //
- // Copyright: © 1993, 1994 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef FWSHAPE_H
- #include "FWShape.h"
- #endif
-
- // ----- Macintosh Includes -----
-
- #if defined(FW_BUILD_MAC) && !defined(mathRoutinesIncludes)
- #include <math routines.h>
- #endif
-
- //==============================================================================
- // •• RunTime Info
- //==============================================================================
-
- #ifdef FW_BUILD_MAC
- #pragma segment fwgraphx
- #endif
-
- //==============================================================================
- // •• class FW_CShape
- //==============================================================================
-
- //------------------------------------------------------------------------------
- // FW_CShape::FW_CShape
- //------------------------------------------------------------------------------
-
- FW_CShape::FW_CShape() :
- FW_CGraphicObjectPtr()
- {
- }
-
- //------------------------------------------------------------------------------
- // FW_CShape::FW_CShape
- //------------------------------------------------------------------------------
-
- FW_CShape::FW_CShape(const FW_CShape& other) :
- FW_CGraphicObjectPtr(other)
- {
- }
-
- //------------------------------------------------------------------------------
- // FW_CShape::FW_CShape
- //------------------------------------------------------------------------------
-
- FW_CShape::FW_CShape(FW_CShapeRep* other) :
- FW_CGraphicObjectPtr(other)
- {
- }
-
- //------------------------------------------------------------------------------
- // FW_CShape::operator=
- //------------------------------------------------------------------------------
-
- FW_CShape& FW_CShape::operator=(const FW_CShape& other)
- {
- SetRep(other.GetRep());
- return *this;
- }
-
- //------------------------------------------------------------------------------
- // FW_CShape::operator=
- //------------------------------------------------------------------------------
-
- FW_CShape& FW_CShape::operator=(FW_CShapeRep* other)
- {
- SetRep(other);
- return *this;
- }
-
- //==============================================================================
- // •• class FW_CShapeRep
- //==============================================================================
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::FW_CShapeRep
- //------------------------------------------------------------------------------
-
- FW_CShapeRep::FW_CShapeRep()
- {
- fShapeFill = FW_kNullShape;
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::FW_CShapeRep
- //------------------------------------------------------------------------------
-
- FW_CShapeRep::FW_CShapeRep(const FW_SDefaultProperties& defaultProperties) :
- fShapeInk(defaultProperties.fInk),
- fShapeStyle(defaultProperties.fStyle),
- fShapeFill(defaultProperties.fFill),
- fHitTestPart(FW_kInBounds),
- fTolerance(ff(0))
- {
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::FW_CShapeRep
- //------------------------------------------------------------------------------
-
- FW_CShapeRep::FW_CShapeRep(const FW_CShapeRep& shapeRep):
- fShapeInk(shapeRep.GetShapeInk()),
- fShapeStyle(shapeRep.GetShapeStyle()),
- fShapeFill(shapeRep.GetShapeFill()),
- fHitTestPart(shapeRep.GetHitTestPart()),
- fTolerance(shapeRep.GetHitTestTolerance())
- {
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::~FW_CShapeRep
- //------------------------------------------------------------------------------
-
- FW_CShapeRep::~FW_CShapeRep()
- {
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::SetPenSize
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::SetPenSize(XMPCoordinate penSize)
- {
- NewStyleIfShared();
- fShapeStyle->SetPenSize(penSize);
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::SetPattern
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::SetPattern(const FW_CPattern& pattern)
- {
- NewStyleIfShared();
- fShapeStyle->SetPattern(pattern);
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::SetFontSize
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::SetFontSize(XMPCoordinate fontSize)
- {
- NewStyleIfShared();
- fShapeStyle->SetFontSize(fontSize);
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::SetFontStyle
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::SetFontStyle(FW_FontStyle fontStyle)
- {
- NewStyleIfShared();
- fShapeStyle->SetFontStyle(fontStyle);
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::SetFontName
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::SetFontName(const FW_CDynamicString& fontName)
- {
- NewStyleIfShared();
- fShapeStyle->SetFontName(fontName);
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::SetForeColor
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::SetForeColor(const FW_CColor& color)
- {
- NewInkIfShared();
- fShapeInk->SetForeColor(color);
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::SetBackColor
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::SetBackColor(const FW_CColor& color)
- {
- NewInkIfShared();
- fShapeInk->SetBackColor(color);
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::SetTransferMode
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::SetTransferMode(FW_TransferMode transferMode)
- {
- NewInkIfShared();
- fShapeInk->SetTransferMode(transferMode);
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::SetDefaultProperties
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::SetDefaultProperties(FW_SDefaultProperties& defaultProperties) const
- {
- defaultProperties.fFill = GetShapeFill();
- defaultProperties.fInk = GetShapeInk();
- defaultProperties.fStyle = GetShapeStyle();
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::NewStyleIfShared
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::NewStyleIfShared()
- {
- if (fShapeStyle->GetRefCount() > 1)
- fShapeStyle = fShapeStyle->Copy();
- }
-
- //------------------------------------------------------------------------------
- // • FW_CShapeRep::NewInkIfShared
- //------------------------------------------------------------------------------
-
- void FW_CShapeRep::NewInkIfShared()
- {
- if (fShapeInk->GetRefCount() > 1)
- fShapeInk = fShapeInk->Copy();
- }
-
-
-
-