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

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

?? gdiplusregion.h

?? 一個很強悍的爬行蜘蛛,能用于很多網頁,而且速度也快
?? H
字號:
/**************************************************************************\
*
* Copyright (c) 1998-2000, Microsoft Corp.  All Rights Reserved.
*
* Module Name:
*
*   GdiplusRegion.h
*
* Abstract:
*
*   Region API related declarations
*
\**************************************************************************/

#ifndef _GDIPLUSREGION_H
#define _GDIPLUSREGION_H

/**
 * Construct a new region object
 */

inline 
Region::Region()
{
    GpRegion *region = NULL;

    lastResult = DllExports::GdipCreateRegion(&region);

    SetNativeRegion(region);
}

inline 
Region::Region(IN const RectF& rect)
{
    GpRegion *region = NULL;

    lastResult = DllExports::GdipCreateRegionRect(&rect, &region);

    SetNativeRegion(region);
}

inline 
Region::Region(IN const Rect& rect)
{
    GpRegion *region = NULL;

    lastResult = DllExports::GdipCreateRegionRectI(&rect, &region);

    SetNativeRegion(region);
}

inline 
Region::Region(IN const GraphicsPath* path)
{
    GpRegion *region = NULL;

    lastResult = DllExports::GdipCreateRegionPath(path->nativePath, &region);

    SetNativeRegion(region);
}

inline 
Region::Region(IN const BYTE* regionData, IN INT size)
{
    GpRegion *region = NULL;

    lastResult = DllExports::GdipCreateRegionRgnData(regionData, size, &region);

    SetNativeRegion(region);
}

inline 
Region::Region(IN HRGN hRgn)
{
    GpRegion *region = NULL;

    lastResult = DllExports::GdipCreateRegionHrgn(hRgn, &region);

    SetNativeRegion(region);
}

inline 
Region* Region::FromHRGN(IN HRGN hRgn)
{
    GpRegion *region = NULL;

    if (DllExports::GdipCreateRegionHrgn(hRgn, &region) == Ok)
    {
        Region* newRegion = new Region(region);

        if (newRegion == NULL) 
        {
            DllExports::GdipDeleteRegion(region);
        }

        return newRegion;
    }
    else
        return NULL;
}

inline 
Region::~Region()
{
    DllExports::GdipDeleteRegion(nativeRegion);
}

/**
 * Make a copy of the region object
 */
inline Region* 
Region::Clone() const
{
    GpRegion *region = NULL;

    SetStatus(DllExports::GdipCloneRegion(nativeRegion, &region));

    return new Region(region);
}

inline Status 
Region::MakeInfinite()
{
    return SetStatus(DllExports::GdipSetInfinite(nativeRegion));
}

inline Status 
Region::MakeEmpty()
{
    return SetStatus(DllExports::GdipSetEmpty(nativeRegion));
}

/**
 * Region operations
 */
inline Status 
Region::Intersect(IN const RectF& rect)
{
    return SetStatus(DllExports::GdipCombineRegionRect(nativeRegion, &rect, CombineModeIntersect));
}

inline Status 
Region::Intersect(IN const Rect& rect)
{
    return SetStatus(DllExports::GdipCombineRegionRectI(nativeRegion, &rect, CombineModeIntersect));
}

inline Status 
Region::Intersect(IN const GraphicsPath* path)
{
    return SetStatus(DllExports::GdipCombineRegionPath(nativeRegion, path->nativePath, CombineModeIntersect));
}

inline Status 
Region::Intersect(IN const Region* region)
{
    return SetStatus(DllExports::GdipCombineRegionRegion(nativeRegion, region->nativeRegion, CombineModeIntersect));
}

inline Status 
Region::Union(IN const RectF& rect)
{
    return SetStatus(DllExports::GdipCombineRegionRect(nativeRegion, &rect, CombineModeUnion));
}

inline Status 
Region::Union(IN const Rect& rect)
{
    return SetStatus(DllExports::GdipCombineRegionRectI(nativeRegion, &rect, CombineModeUnion));
}

inline Status 
Region::Union(IN const GraphicsPath* path)
{
    return SetStatus(DllExports::GdipCombineRegionPath(nativeRegion, path->nativePath, CombineModeUnion));
}

inline Status 
Region::Union(IN const Region* region)
{
    return SetStatus(DllExports::GdipCombineRegionRegion(nativeRegion, region->nativeRegion, CombineModeUnion));
}

inline Status 
Region::Xor(IN const RectF& rect)
{
    return SetStatus(DllExports::GdipCombineRegionRect(nativeRegion, &rect, CombineModeXor));
}

inline Status 
Region::Xor(IN const Rect& rect)
{
    return SetStatus(DllExports::GdipCombineRegionRectI(nativeRegion, &rect, CombineModeXor));
}

inline Status 
Region::Xor(IN const GraphicsPath* path)
{
    return SetStatus(DllExports::GdipCombineRegionPath(nativeRegion, path->nativePath, CombineModeXor));
}

inline Status 
Region::Xor(IN const Region* region)
{
    return SetStatus(DllExports::GdipCombineRegionRegion(nativeRegion, region->nativeRegion, CombineModeXor));
}

inline Status 
Region::Exclude(IN const RectF& rect)
{
    return SetStatus(DllExports::GdipCombineRegionRect(nativeRegion, &rect, CombineModeExclude));
}

inline Status 
Region::Exclude(IN const Rect& rect)
{
     return SetStatus(DllExports::GdipCombineRegionRectI(nativeRegion, &rect, CombineModeExclude));
}

inline Status 
Region::Exclude(IN const GraphicsPath* path)
{
    return SetStatus(DllExports::GdipCombineRegionPath(nativeRegion, path->nativePath, CombineModeExclude));
}

inline Status
Region::Exclude(IN const Region* region)
{
    return SetStatus(DllExports::GdipCombineRegionRegion(nativeRegion,
                                               region->nativeRegion, CombineModeExclude));
}

inline Status 
Region::Complement(IN const RectF& rect)
{
    return SetStatus(DllExports::GdipCombineRegionRect(nativeRegion, &rect, CombineModeComplement));
}

inline Status 
Region::Complement(IN const Rect& rect)
{
    return SetStatus(DllExports::GdipCombineRegionRectI(nativeRegion, &rect, CombineModeComplement));
}

inline Status 
Region::Complement(IN const GraphicsPath* path)
{
    return SetStatus(DllExports::GdipCombineRegionPath(nativeRegion,
                                                path->nativePath, CombineModeComplement));
}

inline Status 
Region::Complement(IN const Region* region)
{
    return SetStatus(DllExports::GdipCombineRegionRegion(nativeRegion,
                                                  region->nativeRegion, CombineModeComplement));
}

/**
 * Transform operations
 */
inline Status 
Region::Translate(IN REAL dx, 
                  IN REAL dy)
{
    return SetStatus(DllExports::GdipTranslateRegion(nativeRegion, dx, dy));
}

inline Status 
Region::Translate(IN INT dx, 
                  IN INT dy)
{
    return SetStatus(DllExports::GdipTranslateRegionI(nativeRegion, dx, dy));
}

inline Status 
Region::Transform(IN const Matrix* matrix)
{
    return SetStatus(DllExports::GdipTransformRegion(nativeRegion, matrix->nativeMatrix));
}

/**
 * Get region attributes
 */
inline Status 
Region::GetBounds(OUT RectF* rect,
                  IN const Graphics* g) const
{
    return SetStatus(DllExports::GdipGetRegionBounds(nativeRegion,
                                                g->nativeGraphics,
                                                rect));
}

inline Status 
Region::GetBounds(OUT Rect* rect,
                  IN const Graphics* g) const
{
    return SetStatus(DllExports::GdipGetRegionBoundsI(nativeRegion,
                                                g->nativeGraphics,
                                                rect));
}

inline HRGN
Region::GetHRGN(IN const Graphics* g) const
{
    HRGN hrgn;

    SetStatus(DllExports::GdipGetRegionHRgn(nativeRegion,
                                            g->nativeGraphics,
                                            &hrgn));

    return hrgn;
}

inline BOOL 
Region::IsEmpty(IN const Graphics *g) const
{
    BOOL booln = FALSE;
   
    SetStatus(DllExports::GdipIsEmptyRegion(nativeRegion,
                                            g->nativeGraphics,
                                            &booln));

    return booln;
}

inline BOOL 
Region::IsInfinite(IN const Graphics *g) const
{
    BOOL booln = FALSE;

    SetStatus(DllExports::GdipIsInfiniteRegion(nativeRegion,
                                                 g->nativeGraphics,
                                                 &booln));

    return booln;
}

inline BOOL 
Region::Equals(IN const Region* region, 
               IN const Graphics* g) const
{
    BOOL booln = FALSE;

    SetStatus(DllExports::GdipIsEqualRegion(nativeRegion,
                                              region->nativeRegion,
                                              g->nativeGraphics,
                                              &booln));
    return booln;
}

// Get the size of the buffer needed for the GetData method
inline UINT 
Region::GetDataSize() const
{
    UINT     bufferSize = 0;
    
    SetStatus(DllExports::GdipGetRegionDataSize(nativeRegion, &bufferSize));
    
    return bufferSize;
}

// buffer     - where to put the data
// bufferSize - how big the buffer is (should be at least as big as GetDataSize())
// sizeFilled - if not NULL, this is an OUT param that says how many bytes
//              of data were written to the buffer.
inline Status 
Region::GetData(OUT BYTE* buffer, 
                IN UINT bufferSize, 
                OUT UINT* sizeFilled) const
{
    return SetStatus(DllExports::GdipGetRegionData(nativeRegion, buffer, bufferSize, sizeFilled));
}

/**
 * Hit testing operations
 */
inline BOOL 
Region::IsVisible(IN const PointF& point, 
                  IN const Graphics* g) const
{
    BOOL booln = FALSE;

    SetStatus(DllExports::GdipIsVisibleRegionPoint(nativeRegion,
                                     point.X, point.Y, 
                                     (g == NULL) ? NULL : g->nativeGraphics,
                                     &booln));
    return booln;
}

inline BOOL 
Region::IsVisible(IN const RectF& rect, 
                  IN const Graphics* g) const
{
    BOOL booln = FALSE;

    SetStatus(DllExports::GdipIsVisibleRegionRect(nativeRegion, rect.X,
                                                    rect.Y, rect.Width,
                                                    rect.Height,
                                                    (g == NULL) ? NULL : g->nativeGraphics,
                                                    &booln));
    return booln;
}

inline BOOL 
Region::IsVisible(IN const Point& point, 
                  IN const Graphics* g) const
{
    BOOL booln = FALSE;


    SetStatus(DllExports::GdipIsVisibleRegionPointI(nativeRegion,
                                                   point.X,
                                                   point.Y,
                                                   (g == NULL) ? NULL : g->nativeGraphics,
                                                   &booln));
    return booln;
}

inline BOOL 
Region::IsVisible(IN const Rect& rect, 
                  IN const Graphics* g) const
{
    BOOL booln = FALSE;

    SetStatus(DllExports::GdipIsVisibleRegionRectI(nativeRegion,
                                                  rect.X,
                                                  rect.Y,
                                                  rect.Width,
                                                  rect.Height,
                                                  (g == NULL) ? NULL : g->nativeGraphics,
                                                  &booln));
    return booln;
}

inline UINT 
Region::GetRegionScansCount(IN const Matrix* matrix) const
{
    UINT count = 0;

    SetStatus(DllExports::GdipGetRegionScansCount(nativeRegion,
                                                  &count,
                                                  matrix->nativeMatrix));
    return count;
}

inline Status 
Region::GetRegionScans(
    IN const Matrix* matrix,
    OUT RectF* rects,
    IN OUT INT* count) const
{
    return SetStatus(DllExports::GdipGetRegionScans(nativeRegion,
                                          rects,
                                          count,
                                          matrix->nativeMatrix));
}

// If rects is NULL, return the count of rects in the region.
// Otherwise, assume rects is big enough to hold all the region rects
// and fill them in and return the number of rects filled in.
// The rects are returned in the units specified by the matrix
// (which is typically a world-to-device transform).
// Note that the number of rects returned can vary, depending on the
// matrix that is used.
inline Status 
Region::GetRegionScans(
    IN const Matrix* matrix,
    OUT Rect* rects,       // NULL to just get the count
    IN OUT INT* count) const
{
    return SetStatus(DllExports::GdipGetRegionScansI(nativeRegion,
                                          rects,
                                          count,
                                          matrix->nativeMatrix));
}

// protected method
inline Region::Region(GpRegion* nativeRegion)
{
    SetNativeRegion(nativeRegion);
}

// protected method
inline VOID Region::SetNativeRegion(GpRegion* nativeRegion)
{
    this->nativeRegion = nativeRegion;
}

inline Status Region::GetLastStatus() const
{
    Status lastStatus = lastResult;
    lastResult = Ok;

    return lastStatus;
}

#endif // !_GDIPLUSREGION_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清不卡一二三区| 国产在线精品一区二区夜色| 99久久精品免费看国产免费软件| 久久久久久久久久电影| 国产成人亚洲精品青草天美| 亚洲国产精品成人综合色在线婷婷| 国产剧情av麻豆香蕉精品| 国产亚洲成aⅴ人片在线观看| 成人黄色在线网站| 亚洲精品日韩综合观看成人91| 欧美羞羞免费网站| 麻豆精品视频在线观看视频| 国产日产精品一区| 91麻豆国产香蕉久久精品| 亚洲v中文字幕| 精品久久久久久久久久久院品网| 国产美女一区二区三区| 亚洲精品欧美激情| 日韩亚洲欧美成人一区| 国产91精品入口| 亚洲成人第一页| 精品国产一区二区亚洲人成毛片 | 日本欧美一区二区三区乱码| 久久久91精品国产一区二区三区| 色婷婷激情综合| 精品一区二区三区欧美| 亚洲视频在线一区二区| 91精品国产色综合久久久蜜香臀| 国产成人在线视频网站| 亚洲国产美女搞黄色| 久久精品一级爱片| 精品视频在线看| 高清免费成人av| 午夜成人免费视频| 国产精品理论在线观看| 日韩精品最新网址| 欧美亚洲国产一卡| 成人av在线资源网站| 日本视频免费一区| 亚洲美女屁股眼交3| 久久人人超碰精品| 91精品一区二区三区久久久久久| 成人app软件下载大全免费| 裸体歌舞表演一区二区| 一区二区国产视频| 国产精品久久综合| 亚洲精品一区二区三区在线观看| 在线这里只有精品| 国产在线一区二区| 午夜精品久久久久久久99樱桃| 国产精品热久久久久夜色精品三区 | 久久精品亚洲精品国产欧美kt∨ | 亚洲综合免费观看高清在线观看| 久久免费精品国产久精品久久久久| 欧美日韩在线亚洲一区蜜芽| 99久久婷婷国产综合精品| 国产在线视频精品一区| 免费一级片91| 青青草原综合久久大伊人精品| 中文字幕一区二区三区不卡| 久久久精品综合| 久久伊人中文字幕| 久久综合九色综合97婷婷女人| 欧美精品tushy高清| 欧美视频在线观看一区| 91欧美一区二区| 99热精品一区二区| av资源网一区| 成人开心网精品视频| 成人午夜激情片| 成人一区二区三区在线观看 | eeuss国产一区二区三区| 国产精品主播直播| 丰满放荡岳乱妇91ww| 国产a区久久久| 波多野结衣一区二区三区| 成人久久视频在线观看| 成人精品鲁一区一区二区| 99综合影院在线| 99re66热这里只有精品3直播 | 精品国产91久久久久久久妲己| 欧美一区二区在线免费播放| 欧美一级xxx| 亚洲精品一区二区三区99| 精品久久久久久久人人人人传媒| 日韩三级视频在线看| 久久综合国产精品| 国产色产综合产在线视频| 国产精品激情偷乱一区二区∴| 中文字幕制服丝袜成人av| 亚洲欧美国产三级| 亚洲成人av福利| 日韩黄色小视频| 国内成+人亚洲+欧美+综合在线| 国产成人精品亚洲日本在线桃色 | 91蝌蚪porny九色| 欧美三级日韩三级| 精品处破学生在线二十三| 亚洲国产精品高清| 亚洲国产美女搞黄色| 久久电影网站中文字幕| 国产91精品一区二区麻豆亚洲| 色婷婷久久综合| 欧美成人r级一区二区三区| 国产拍欧美日韩视频二区| 亚洲女子a中天字幕| 日韩精品电影在线| 国产99久久久国产精品潘金网站| 色综合色综合色综合| 日韩一二在线观看| 亚洲欧洲精品一区二区三区| 午夜精品久久一牛影视| 国产成人精品一区二区三区四区| 在线观看国产一区二区| 精品久久人人做人人爱| 亚洲人亚洲人成电影网站色| 日本欧美在线观看| 91亚洲精品乱码久久久久久蜜桃| 欧美日本在线视频| 国产精品色哟哟| 麻豆免费精品视频| 在线精品视频一区二区| 久久久一区二区三区| 亚洲国产精品久久人人爱蜜臀| 国产精品自在欧美一区| 欧美精品粉嫩高潮一区二区| 欧美激情一区二区三区蜜桃视频| 婷婷一区二区三区| 97精品超碰一区二区三区| 亚洲精品一区二区三区四区高清 | 亚洲午夜久久久久久久久电影院| 国产河南妇女毛片精品久久久| 欧美日韩美少妇| 国产精品福利一区| 久久精品国产77777蜜臀| 在线欧美小视频| 国产精品久久久久久久蜜臀 | 在线电影欧美成精品| 亚洲嫩草精品久久| 成人小视频在线| 久久这里都是精品| 日本亚洲电影天堂| 在线亚洲欧美专区二区| 国产精品高清亚洲| 成人一区二区三区视频在线观看| 欧美电影免费提供在线观看| 亚洲图片自拍偷拍| 91成人网在线| 一区二区三区在线视频观看58| 大尺度一区二区| 国产亚洲一二三区| 国产在线播放一区三区四| 日韩一级二级三级| 奇米影视在线99精品| 欧美福利一区二区| 午夜欧美一区二区三区在线播放| 日本精品裸体写真集在线观看| 亚洲欧美在线视频| 成人毛片视频在线观看| 欧美激情自拍偷拍| 国产成人精品www牛牛影视| 国产午夜精品一区二区三区四区| 精品一区二区免费| 日韩美女天天操| 国产一区二区三区观看| 久久九九久久九九| 国产成人av资源| 国产精品毛片久久久久久| www.日韩大片| 亚洲精品菠萝久久久久久久| 色av一区二区| 日韩在线一区二区| 欧美一二三四区在线| 激情成人午夜视频| 久久亚洲春色中文字幕久久久| 激情小说亚洲一区| 亚洲国产精品二十页| 91年精品国产| 亚洲一区二区三区美女| 91精品国产综合久久精品麻豆| 日韩电影一二三区| 久久丝袜美腿综合| 成人免费三级在线| 一区二区欧美精品| 日韩欧美三级在线| 成人影视亚洲图片在线| 亚洲精品成人少妇| 日韩欧美三级在线| 成人在线视频一区二区| 亚洲一区二区中文在线| 欧美一区二区高清| 成人免费不卡视频| 亚洲不卡一区二区三区| 精品国产91乱码一区二区三区| 成人妖精视频yjsp地址| 亚洲综合免费观看高清完整版在线| 欧美高清视频www夜色资源网| 国产精品一级在线| 亚洲国产美国国产综合一区二区| 精品国产一区二区三区四区四|