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

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

?? gdiplustypes.h

?? 局域網屏幕監控系統,用VC++來實現.可實現局域網屏幕監控.
?? H
?? 第 1 頁 / 共 2 頁
字號:
    REAL GetLeft() const
    {
        return X;
    }

    REAL GetTop() const
    {
        return Y;
    }

    REAL GetRight() const
    {
        return X+Width;
    }

    REAL GetBottom() const
    {
        return Y+Height;
    }

    // Determine if the rectangle is empty
    BOOL IsEmptyArea() const
    {
        return (Width <= REAL_EPSILON) || (Height <= REAL_EPSILON);
    }

    BOOL Equals(IN const RectF & rect) const
    {
        return X == rect.X &&
               Y == rect.Y &&
               Width == rect.Width &&
               Height == rect.Height;
    }

    BOOL Contains(IN REAL x,
                  IN REAL y) const
    {
        return x >= X && x < X+Width &&
               y >= Y && y < Y+Height;
    }

    BOOL Contains(IN const PointF& pt) const
    {
        return Contains(pt.X, pt.Y);
    }

    BOOL Contains(IN const RectF& rect) const
    {
        return (X <= rect.X) && (rect.GetRight() <= GetRight()) &&
               (Y <= rect.Y) && (rect.GetBottom() <= GetBottom());
    }

    VOID Inflate(IN REAL dx,
                 IN REAL dy)
    {
        X -= dx;
        Y -= dy;
        Width += 2*dx;
        Height += 2*dy;
    }

    VOID Inflate(IN const PointF& point)
    {
        Inflate(point.X, point.Y);
    }

    // Intersect the current rect with the specified object

    BOOL Intersect(IN const RectF& rect)
    {
        return Intersect(*this, *this, rect);
    }

    // Intersect rect a and b and save the result into c
    // Notice that c may be the same object as a or b.

    static BOOL Intersect(OUT RectF& c,
                          IN const RectF& a,
                          IN const RectF& b)
    {
        REAL right = min(a.GetRight(), b.GetRight());
        REAL bottom = min(a.GetBottom(), b.GetBottom());
        REAL left = max(a.GetLeft(), b.GetLeft());
        REAL top = max(a.GetTop(), b.GetTop());

        c.X = left;
        c.Y = top;
        c.Width = right - left;
        c.Height = bottom - top;
        return !c.IsEmptyArea();
    }

    // Determine if the specified rect intersects with the
    // current rect object.

    BOOL IntersectsWith(IN const RectF& rect) const
    {
        return (GetLeft() < rect.GetRight() &&
                GetTop() < rect.GetTop() &&
                GetRight() > rect.GetLeft() &&
                GetBottom() > rect.GetTop());
    }

    static BOOL Union(OUT RectF& c,
                      IN const RectF& a,
                      IN const RectF& b)
    {
        REAL right = max(a.GetRight(), b.GetRight());
        REAL bottom = max(a.GetBottom(), b.GetBottom());
        REAL left = min(a.GetLeft(), b.GetLeft());
        REAL top = min(a.GetTop(), b.GetTop());

        c.X = left;
        c.Y = top;
        c.Width = right - left;
        c.Height = bottom - top;
        return !c.IsEmptyArea();
    }

    VOID Offset(IN const PointF& point)
    {
        Offset(point.X, point.Y);
    }

    VOID Offset(IN REAL dx,
                IN REAL dy)
    {
        X += dx;
        Y += dy;
    }

public:

    REAL X;
    REAL Y;
    REAL Width;
    REAL Height;
};

//--------------------------------------------------------------------------
// Represents a rectangle in a 2D coordinate system
//  (integer coordinates)
//--------------------------------------------------------------------------

class Rect
{
public:

    // Default constructor

    Rect()
    {
        X = Y = Width = Height = 0;
    }

    Rect(IN INT x,
         IN INT y,
         IN INT width,
         IN INT height)
    {
        X = x;
        Y = y;
        Width = width;
        Height = height;
    }

    Rect(IN const Point& location,
         IN const Size& size)
    {
        X = location.X;
        Y = location.Y;
        Width = size.Width;
        Height = size.Height;
    }

    Rect* Clone() const
    {
        return new Rect(X, Y, Width, Height);
    }

    VOID GetLocation(OUT Point* point) const
    {
        point->X = X;
        point->Y = Y;
    }

    VOID GetSize(OUT Size* size) const
    {
        size->Width = Width;
        size->Height = Height;
    }

    VOID GetBounds(OUT Rect* rect) const
    {
        rect->X = X;
        rect->Y = Y;
        rect->Width = Width;
        rect->Height = Height;
    }

    // Return the left, top, right, and bottom
    // coordinates of the rectangle

    INT GetLeft() const
    {
        return X;
    }

    INT GetTop() const
    {
        return Y;
    }

    INT GetRight() const
    {
        return X+Width;
    }

    INT GetBottom() const
    {
        return Y+Height;
    }

    // Determine if the rectangle is empty
    BOOL IsEmptyArea() const
    {
        return (Width <= 0) || (Height <= 0);
    }

    BOOL Equals(IN const Rect & rect) const
    {
        return X == rect.X &&
               Y == rect.Y &&
               Width == rect.Width &&
               Height == rect.Height;
    }

    BOOL Contains(IN INT x,
                  IN INT y) const
    {
        return x >= X && x < X+Width &&
               y >= Y && y < Y+Height;
    }

    BOOL Contains(IN const Point& pt) const
    {
        return Contains(pt.X, pt.Y);
    }

    BOOL Contains(IN Rect& rect) const
    {
        return (X <= rect.X) && (rect.GetRight() <= GetRight()) &&
               (Y <= rect.Y) && (rect.GetBottom() <= GetBottom());
    }

    VOID Inflate(IN INT dx,
                 IN INT dy)
    {
        X -= dx;
        Y -= dy;
        Width += 2*dx;
        Height += 2*dy;
    }

    VOID Inflate(IN const Point& point)
    {
        Inflate(point.X, point.Y);
    }

    // Intersect the current rect with the specified object

    BOOL Intersect(IN const Rect& rect)
    {
        return Intersect(*this, *this, rect);
    }

    // Intersect rect a and b and save the result into c
    // Notice that c may be the same object as a or b.

    static BOOL Intersect(OUT Rect& c,
                          IN const Rect& a,
                          IN const Rect& b)
    {
        INT right = min(a.GetRight(), b.GetRight());
        INT bottom = min(a.GetBottom(), b.GetBottom());
        INT left = max(a.GetLeft(), b.GetLeft());
        INT top = max(a.GetTop(), b.GetTop());

        c.X = left;
        c.Y = top;
        c.Width = right - left;
        c.Height = bottom - top;
        return !c.IsEmptyArea();
    }

    // Determine if the specified rect intersects with the
    // current rect object.

    BOOL IntersectsWith(IN const Rect& rect) const
    {
        return (GetLeft() < rect.GetRight() &&
                GetTop() < rect.GetTop() &&
                GetRight() > rect.GetLeft() &&
                GetBottom() > rect.GetTop());
    }

    static BOOL Union(OUT Rect& c,
                      IN const Rect& a,
                      IN const Rect& b)
    {
        INT right = max(a.GetRight(), b.GetRight());
        INT bottom = max(a.GetBottom(), b.GetBottom());
        INT left = min(a.GetLeft(), b.GetLeft());
        INT top = min(a.GetTop(), b.GetTop());

        c.X = left;
        c.Y = top;
        c.Width = right - left;
        c.Height = bottom - top;
        return !c.IsEmptyArea();
    }

    VOID Offset(IN const Point& point)
    {
        Offset(point.X, point.Y);
    }

    VOID Offset(IN INT dx,
                IN INT dy)
    {
        X += dx;
        Y += dy;
    }

public:

    INT X;
    INT Y;
    INT Width;
    INT Height;
};

// A user must mange memory for PathData.

class PathData
{
public:
    PathData()
    {
        Count = 0;
        Points = NULL;
        Types = NULL;
    }

    ~PathData()
    {
        if (Points != NULL)
        {
            delete Points;
        }

        if (Types != NULL)
        {
            delete Types;
        }
    }

#ifdef DCR_USE_NEW_250932

private:
    PathData(const PathData &);
    PathData& operator=(const PathData &);

#endif

public:
    INT Count;
    PointF* Points;
    BYTE* Types;
};


//-----------------------------
// text character range
//-----------------------------

class CharacterRange
{
public:
    CharacterRange(
        INT first,
        INT length
    ) :
        First   (first),
        Length  (length)
    {}

    CharacterRange() : First(0), Length(0)
    {}

    CharacterRange & operator = (const CharacterRange &rhs)
    {
        First  = rhs.First;
        Length = rhs.Length;
        return *this;
    }

    INT First;
    INT Length;
};

#endif // !_GDIPLUSTYPES_HPP

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
首页国产丝袜综合| 奇米777欧美一区二区| 91视频.com| 一色屋精品亚洲香蕉网站| aaa亚洲精品| 亚洲综合另类小说| 欧美精品久久天天躁| 青青草国产成人av片免费| 精品国产乱码久久久久久浪潮| 国产乱码精品一区二区三| 国产精品免费观看视频| 欧美主播一区二区三区| 蜜臀久久久久久久| 国产欧美一二三区| 色综合久久天天| 三级精品在线观看| 久久久99精品免费观看不卡| 99久久精品免费看| 日韩精品一卡二卡三卡四卡无卡| 26uuu成人网一区二区三区| 91小视频在线| 美日韩一级片在线观看| 中文字幕国产一区| 欧美综合欧美视频| 狠狠色丁香九九婷婷综合五月| 国产精品不卡一区二区三区| 欧美色大人视频| 国产伦精一区二区三区| 一区二区三区在线免费观看 | 高清不卡一区二区| 亚洲一区二区黄色| 欧美sm极限捆绑bd| 91看片淫黄大片一级在线观看| 天堂蜜桃一区二区三区| 国产日产欧美一区| 欧美日韩小视频| 国产精品88888| 亚洲第四色夜色| 久久免费美女视频| 欧美日韩国产综合久久| 国产成人午夜99999| 亚洲成人资源网| 久久精品无码一区二区三区| 欧美日韩国产一二三| 国产成人精品三级| 天堂久久一区二区三区| 国产精品色哟哟| 欧美一级高清片在线观看| www.日本不卡| 久久69国产一区二区蜜臀| 亚洲免费av高清| 久久一区二区三区四区| 欧美三级韩国三级日本三斤| 风流少妇一区二区| 日韩成人dvd| 亚洲精品中文字幕乱码三区| 久久尤物电影视频在线观看| 欧美色图免费看| 成人福利视频网站| 久久精品国产精品亚洲精品| 亚洲伊人伊色伊影伊综合网| 国产三级三级三级精品8ⅰ区| 欧美精品123区| 不卡一卡二卡三乱码免费网站| 蜜桃视频在线一区| 亚洲国产成人高清精品| 国产精品久久久一本精品| 精品国产一区二区在线观看| 欧美三级日本三级少妇99| 99视频精品免费视频| 国内成人精品2018免费看| 亚洲v日本v欧美v久久精品| 中文字幕不卡一区| 亚洲精品一区二区三区99| 91精品在线免费| 欧美在线观看视频一区二区 | 成人小视频免费观看| 精品中文av资源站在线观看| 午夜精品久久一牛影视| 亚洲精品中文字幕乱码三区| 国产精品免费观看视频| 国产日韩欧美精品综合| 日韩欧美国产1| 7878成人国产在线观看| 欧美在线一区二区三区| 色婷婷av一区| 91丨porny丨户外露出| av男人天堂一区| 成人av集中营| 顶级嫩模精品视频在线看| 国产一区二区看久久| 美国欧美日韩国产在线播放| 免费一区二区视频| 免费欧美在线视频| 日韩精品视频网| 五月婷婷综合激情| 亚洲成人动漫一区| 亚洲大片精品永久免费| 亚洲最新视频在线观看| 夜夜揉揉日日人人青青一国产精品| 亚洲美女在线国产| 亚洲青青青在线视频| 中文字幕亚洲不卡| 最新热久久免费视频| 亚洲欧洲另类国产综合| 中文字幕欧美一| 亚洲老妇xxxxxx| 亚洲国产色一区| 亚洲成在人线在线播放| 亚洲成国产人片在线观看| 亚洲成a人片综合在线| 香蕉久久夜色精品国产使用方法 | 午夜视频一区二区| 视频一区二区国产| 久久精品99国产国产精| 精品一区二区三区视频| 国产呦萝稀缺另类资源| 国产精品一区二区男女羞羞无遮挡| 国产电影一区二区三区| 福利一区二区在线观看| 99久久免费精品高清特色大片| 91丨九色porny丨蝌蚪| 91久久香蕉国产日韩欧美9色| 欧美综合一区二区| 欧美一区二区三区四区视频| 欧美变态tickle挠乳网站| 精品国内二区三区| 国产欧美一区二区精品性| 一区在线中文字幕| 亚洲国产精品久久久男人的天堂 | 4hu四虎永久在线影院成人| 日韩免费高清av| 久久精品人人做| 亚洲欧洲色图综合| 亚洲国产美国国产综合一区二区| 日韩中文字幕91| 国产一区二区三区电影在线观看 | 日韩一本二本av| 久久久精品蜜桃| 亚洲丝袜制服诱惑| 亚洲www啪成人一区二区麻豆| 久久激五月天综合精品| 成人国产精品免费网站| 色婷婷久久综合| 在线综合+亚洲+欧美中文字幕| 久久综合狠狠综合| 亚洲日本va在线观看| 日韩成人免费电影| 国产不卡高清在线观看视频| 色婷婷国产精品| 欧美大片在线观看一区二区| 国产精品丝袜91| 亚洲大型综合色站| 国产寡妇亲子伦一区二区| 色美美综合视频| 日韩欧美一区电影| 一区免费观看视频| 欧美aaaaaa午夜精品| 成人午夜免费视频| 欧美日韩高清一区二区不卡| 久久众筹精品私拍模特| 亚洲另类在线一区| 黑人精品欧美一区二区蜜桃| 91蜜桃在线观看| 欧美电影免费观看完整版| 中文字幕永久在线不卡| 日本一道高清亚洲日美韩| 成人一级片在线观看| 在线播放91灌醉迷j高跟美女| 欧美国产日本韩| 天使萌一区二区三区免费观看| 高清日韩电视剧大全免费| 欧美精品色一区二区三区| 国产精品你懂的在线欣赏| 丝袜国产日韩另类美女| 不卡一区中文字幕| 精品日产卡一卡二卡麻豆| 亚洲免费av在线| 国产高清不卡二三区| 欧美日韩国产一级| 亚洲特黄一级片| 国产盗摄女厕一区二区三区| 欧美日韩国产高清一区二区三区| 亚洲国产岛国毛片在线| 奇米一区二区三区av| 色婷婷久久久久swag精品| 国产亚洲精品7777| 蜜桃av噜噜一区二区三区小说| 99re热视频精品| 久久久精品欧美丰满| 日韩av电影一区| 在线观看91精品国产入口| 国产精品午夜电影| 黄网站免费久久| 69堂亚洲精品首页| 一区二区在线观看不卡| 懂色av中文字幕一区二区三区 | 久久99最新地址| 欧美日韩精品欧美日韩精品一 | 久久精品国产亚洲一区二区三区|