亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gdipluslinecaps.h

?? 一個很強悍的爬行蜘蛛,能用于很多網頁,而且速度也快
?? H
字號:
/**************************************************************************\
* 
* 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本乱人伦aⅴ精品| 99久久777色| 亚洲成a人片在线不卡一二三区| 日韩美女精品在线| 中文字幕永久在线不卡| 中文字幕日本乱码精品影院| 国产精品狼人久久影院观看方式| 中文字幕在线不卡一区 | va亚洲va日韩不卡在线观看| 激情综合色播五月| 精品一区二区三区欧美| 久久国内精品视频| 国产成人精品aa毛片| av不卡免费电影| 欧美剧情片在线观看| 正在播放一区二区| 国产午夜精品久久| 亚洲激情中文1区| 青椒成人免费视频| 国产精品自产自拍| 99久久99精品久久久久久| 欧美色欧美亚洲另类二区| 欧美草草影院在线视频| 国产亚洲成av人在线观看导航| 国产精品久久久久精k8| 丝袜脚交一区二区| 国产精品一区二区久久不卡 | 91蜜桃视频在线| 欧美在线三级电影| 欧美大片顶级少妇| 亚洲欧美在线视频观看| 日韩在线一区二区| 91麻豆免费观看| 精品毛片乱码1区2区3区| 国产精品久久免费看| 日本欧美一区二区三区乱码| 成人免费看视频| 日韩欧美在线一区二区三区| 中文字幕一区不卡| 国内精品嫩模私拍在线| 色狠狠av一区二区三区| 久久精品视频一区二区三区| 夜夜精品浪潮av一区二区三区| 久久精品国产一区二区三| 99九九99九九九视频精品| www国产精品av| 亚洲第一成年网| av影院午夜一区| 久久久电影一区二区三区| 奇米精品一区二区三区四区| 色妹子一区二区| 国产精品青草久久| 九一九一国产精品| 91精品在线免费观看| 一区二区在线观看视频| 成人福利视频网站| 久久精品视频一区二区| 国内精品免费在线观看| 欧美成人猛片aaaaaaa| 亚洲免费在线电影| 懂色av一区二区夜夜嗨| 2024国产精品| 国产乱码精品1区2区3区| 制服丝袜亚洲色图| 亚洲亚洲人成综合网络| 欧洲精品在线观看| 一区二区三区高清| av成人免费在线| 国产精品午夜在线观看| 福利视频网站一区二区三区| 久久网这里都是精品| 久久电影国产免费久久电影 | 国产在线精品一区在线观看麻豆| 欧美性一级生活| 中文字幕五月欧美| 99久久国产综合精品女不卡| ㊣最新国产の精品bt伙计久久| 成人国产精品免费观看视频| 中文字幕一区免费在线观看| 99精品视频在线播放观看| 国产精品久久免费看| 色婷婷一区二区三区四区| 亚洲精选在线视频| 欧美日韩五月天| 全部av―极品视觉盛宴亚洲| 欧美videossexotv100| 国产永久精品大片wwwapp| 国产精品区一区二区三| 在线观看区一区二| 图片区小说区区亚洲影院| 91精品国产麻豆| 国产在线不卡一卡二卡三卡四卡| 国产女主播在线一区二区| 丁香婷婷综合激情五月色| 国产精品无人区| 91国产福利在线| 蜜桃久久av一区| 国产精品每日更新在线播放网址| 色综合久久久久久久| 日韩一区精品视频| 久久精品人人做| 91久久精品一区二区二区| 首页国产丝袜综合| 国产精品全国免费观看高清| 欧美日韩一区视频| 国产一区二区美女| 亚洲小说欧美激情另类| 久久中文娱乐网| 欧美无人高清视频在线观看| 精品午夜久久福利影院| 一区二区三区中文字幕精品精品| 欧美一区三区二区| 一本久久a久久精品亚洲| 美女网站在线免费欧美精品| 国产精品久久久一本精品| 91精品国产入口| www.激情成人| 精品中文字幕一区二区| 一区二区日韩电影| 欧美国产日产图区| 日韩欧美国产综合| 色欧美乱欧美15图片| 国产高清精品网站| 青椒成人免费视频| 亚洲影视资源网| 国产精品系列在线| 精品国产免费一区二区三区四区| 色一情一乱一乱一91av| 国产成人鲁色资源国产91色综 | 欧美一区二区福利视频| 色综合久久久久网| 成人激情免费视频| 韩国一区二区三区| 日韩av在线发布| 日韩综合小视频| 一区二区三区精品视频| 一区二区中文视频| 国产亚洲欧美日韩日本| 日韩美女在线视频| 91精品国产麻豆| 欧美美女直播网站| 欧美性视频一区二区三区| 91在线视频播放| 成人av综合在线| www.亚洲精品| www.亚洲激情.com| 国产**成人网毛片九色 | 91成人在线免费观看| 成人一级视频在线观看| 国产高清一区日本| 丁香婷婷综合五月| 99re6这里只有精品视频在线观看| 国产成人综合亚洲网站| 国产精品正在播放| 99视频超级精品| 色屁屁一区二区| 69av一区二区三区| 91精品国产一区二区三区香蕉| 欧美一区二区三区的| 欧美电影免费观看完整版| 精品福利在线导航| 国产日产欧美一区| 亚洲色图视频免费播放| 亚洲激情在线激情| 秋霞午夜鲁丝一区二区老狼| 久久国产精品一区二区| 成人小视频在线| 一本高清dvd不卡在线观看| 欧美日韩一区二区三区在线| 在线不卡的av| 国产日产欧美一区二区三区 | 日韩一区二区三区视频| 精品国产成人系列| 国产精品三级av| 一区二区三区欧美久久| 免费观看久久久4p| 成人亚洲一区二区一| 在线观看av一区| 欧美电视剧在线观看完整版| 国产精品无人区| 丝袜亚洲另类欧美| 高清日韩电视剧大全免费| 色综合久久久久网| 久久色视频免费观看| 亚洲伦在线观看| 国内久久婷婷综合| 在线精品亚洲一区二区不卡| 欧美成人vps| 亚洲精品美腿丝袜| 精品一区二区精品| 在线看日韩精品电影| 欧美电影免费观看高清完整版在线 | 中文字幕中文乱码欧美一区二区| 亚洲妇熟xx妇色黄| 成人午夜视频在线| 欧美一级爆毛片| 亚洲黄色免费网站| 国产成人在线电影| 欧美一区二区高清| 亚洲在线视频一区|