Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
GdiPlusLineCaps.h
Package: GDIUSE.rar [view]
Upload User: jinlangri
Upload Date: 2022-07-17
Package Size: 10774k
Code Size: 6k
Category:
GDI-Bitmap
Development Platform:
Visual C++
- /**************************************************************************
- *
- * Copyright (c) 2000, Microsoft Corp. All Rights Reserved.
- *
- * Module Name:
- *
- * GdiplusLineCaps.h
- *
- * Abstract:
- *
- * APIs for Custom Line Caps
- *
- **************************************************************************/
- #ifndef _GDIPLUSLINECAPS_H
- #define _GDIPLUSLINECAPS_H
- inline
- CustomLineCap::CustomLineCap(
- IN const GraphicsPath* fillPath,
- IN const GraphicsPath* strokePath,
- IN LineCap baseCap,
- IN REAL baseInset
- )
- {
- nativeCap = NULL;
- GpPath* nativeFillPath = NULL;
- GpPath* nativeStrokePath = NULL;
- if(fillPath)
- nativeFillPath = fillPath->nativePath;
- if(strokePath)
- nativeStrokePath = strokePath->nativePath;
- lastResult = DllExports::GdipCreateCustomLineCap(
- nativeFillPath, nativeStrokePath,
- baseCap, baseInset, &nativeCap);
- }
- inline
- CustomLineCap::CustomLineCap()
- {
- // This is used for default constructor for subclasses.
- // So don't create a nativeCap.
- nativeCap = NULL;
- lastResult = Ok;
- }
- inline
- CustomLineCap::~CustomLineCap()
- {
- DllExports::GdipDeleteCustomLineCap(nativeCap);
- }
- inline Status
- CustomLineCap::SetStrokeCaps(
- IN LineCap startCap,
- IN LineCap endCap)
- {
- return SetStatus(DllExports::GdipSetCustomLineCapStrokeCaps(nativeCap,
- startCap, endCap));
- }
- inline Status
- CustomLineCap::GetStrokeCaps(
- OUT LineCap* startCap,
- OUT LineCap* endCap) const
- {
- return SetStatus(DllExports::GdipGetCustomLineCapStrokeCaps(nativeCap,
- startCap, endCap));
- }
- inline Status
- CustomLineCap::SetStrokeJoin(
- IN LineJoin lineJoin)
- {
- return SetStatus(DllExports::GdipSetCustomLineCapStrokeJoin(nativeCap, lineJoin));
- }
- inline LineJoin
- CustomLineCap::GetStrokeJoin() const
- {
- LineJoin lineJoin;
- SetStatus(DllExports::GdipGetCustomLineCapStrokeJoin(nativeCap, &lineJoin));
- return lineJoin;
- }
- inline Status
- CustomLineCap::SetBaseCap(IN LineCap baseCap)
- {
- return SetStatus(DllExports::GdipSetCustomLineCapBaseCap(nativeCap, baseCap));
- }
- inline LineCap
- CustomLineCap::GetBaseCap() const
- {
- LineCap baseCap;
- SetStatus(DllExports::GdipGetCustomLineCapBaseCap(nativeCap, &baseCap));
- return baseCap;
- }
- inline Status
- CustomLineCap::SetBaseInset(IN REAL inset)
- {
- return SetStatus(DllExports::GdipSetCustomLineCapBaseInset(nativeCap, inset));
- }
- inline REAL
- CustomLineCap::GetBaseInset() const
- {
- REAL inset;
- SetStatus(DllExports::GdipGetCustomLineCapBaseInset(nativeCap, &inset));
- return inset;
- }
- inline Status
- CustomLineCap::SetWidthScale(IN REAL widthScale)
- {
- return SetStatus(DllExports::GdipSetCustomLineCapWidthScale(nativeCap, widthScale));
- }
- inline REAL
- CustomLineCap::GetWidthScale() const
- {
- REAL widthScale;
- SetStatus(DllExports::GdipGetCustomLineCapWidthScale(nativeCap, &widthScale));
- return widthScale;
- }
- inline CustomLineCap*
- CustomLineCap::Clone() const
- {
- GpCustomLineCap *newNativeLineCap = NULL;
- SetStatus(DllExports::GdipCloneCustomLineCap(nativeCap, &newNativeLineCap));
- if (lastResult == Ok)
- {
- CustomLineCap *newLineCap = new CustomLineCap(newNativeLineCap, lastResult);
- if (newLineCap == NULL)
- {
- SetStatus(DllExports::GdipDeleteCustomLineCap(newNativeLineCap));
- }
- return newLineCap;
- }
- return NULL;
- }
- class AdjustableArrowCap : public CustomLineCap
- {
- public:
- AdjustableArrowCap(
- IN REAL height,
- IN REAL width,
- IN BOOL isFilled = TRUE
- )
- {
- GpAdjustableArrowCap* cap = NULL;
- lastResult = DllExports::GdipCreateAdjustableArrowCap(
- height, width, isFilled, &cap);
- SetNativeCap(cap);
- }
- Status SetHeight(IN REAL height)
- {
- GpAdjustableArrowCap* cap = (GpAdjustableArrowCap*) nativeCap;
- return SetStatus(DllExports::GdipSetAdjustableArrowCapHeight(
- cap, height));
- }
- REAL GetHeight() const
- {
- GpAdjustableArrowCap* cap = (GpAdjustableArrowCap*) nativeCap;
- REAL height;
- SetStatus(DllExports::GdipGetAdjustableArrowCapHeight(
- cap, &height));
- return height;
- }
- Status SetWidth(IN REAL width)
- {
- GpAdjustableArrowCap* cap = (GpAdjustableArrowCap*) nativeCap;
- return SetStatus(DllExports::GdipSetAdjustableArrowCapWidth(
- cap, width));
- }
- REAL GetWidth() const
- {
- GpAdjustableArrowCap* cap = (GpAdjustableArrowCap*) nativeCap;
- REAL width;
- SetStatus(DllExports::GdipGetAdjustableArrowCapWidth(
- cap, &width));
- return width;
- }
- Status SetMiddleInset(IN REAL middleInset)
- {
- GpAdjustableArrowCap* cap = (GpAdjustableArrowCap*) nativeCap;
- return SetStatus(DllExports::GdipSetAdjustableArrowCapMiddleInset(
- cap, middleInset));
- }
- REAL GetMiddleInset() const
- {
- GpAdjustableArrowCap* cap = (GpAdjustableArrowCap*) nativeCap;
- REAL middleInset;
- SetStatus(DllExports::GdipGetAdjustableArrowCapMiddleInset(
- cap, &middleInset));
- return middleInset;
- }
- Status SetFillState(IN BOOL isFilled)
- {
- GpAdjustableArrowCap* cap = (GpAdjustableArrowCap*) nativeCap;
- return SetStatus(DllExports::GdipSetAdjustableArrowCapFillState(
- cap, isFilled));
- }
- BOOL IsFilled() const
- {
- GpAdjustableArrowCap* cap = (GpAdjustableArrowCap*) nativeCap;
- BOOL isFilled;
- SetStatus(DllExports::GdipGetAdjustableArrowCapFillState(
- cap, &isFilled));
- return isFilled;
- }
- #ifdef DCR_USE_NEW_250932
- private:
- AdjustableArrowCap(const AdjustableArrowCap &);
- AdjustableArrowCap& operator=(const AdjustableArrowCap &);
- #endif
- };
- #endif