SDC C-Project CF Review 프로그램
LYW
2021-07-08 9cbd9e554f9956b3b945b51602f1d4a3fa0353e1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#pragma once
 
#include "akSTLLinker.h"
#include "akRectT.h"
#include "akPoint.h"
 
#define CakRectToCRect(akRect) CRect(akRect.left, akRect.top, akRect.right, akRect.bottom)
#define CRectToCakRect(rect) CakRect(rect.left, rect.top, rect.right, rect.bottom)
#define CakRectSet(rectDes, rectSrc) rectDes.SetRect(rectSrc.left, rectSrc.top, rectSrc.right, rectSrc.bottom)
 
class AKSTL_DLLSPEC CakRect : public CakRectT<long>
{
public:
 
    CakRect(){};
    CakRect(const long l, const long t, const long r, const long b){
        left=l,top=t,right=r,bottom=b;
    };
    virtual ~CakRect(){};
    
public:
    
    // reference to the top-left point
    CakPoint TopLeft() throw();
    // reference to the bottom-right point
    CakPoint BottomRight() throw();
    // const reference to the top-left point
    const CakPoint TopLeft() const throw();
    // const reference to the bottom-right point
    const CakPoint BottomRight() const throw();
    // the geometric center point of the rectangle
    CakPoint CenterPoint() const throw();
 
    bool PtInRect(CakPoint point) const throw();
    
};
 
class AKSTL_DLLSPEC CakRectn : public CakRectT<int>
{
public:
 
    CakRectn(){};
    CakRectn(int l, int t, int r, int b){
        left=l,top=t,right=r,bottom=b;
    };
    virtual ~CakRectn(){};
    
public:
 
    // reference to the top-left point
    CakPoint TopLeft() throw();
    // reference to the bottom-right point
    CakPoint BottomRight() throw();
    // const reference to the top-left point
    const CakPoint TopLeft() const throw();
    // const reference to the bottom-right point
    const CakPoint BottomRight() const throw();
    // the geometric center point of the rectangle
    CakPoint CenterPoint() const throw();
 
    bool PtInRect(CakPoint point) const throw();
 
};
 
class AKSTL_DLLSPEC CakRectf : public CakRectT<float>
{
public:
 
    CakRectf(){};
    CakRectf(float l, float t, float r, float b){
        left=l,top=t,right=r,bottom=b;
    };
    virtual ~CakRectf(){};
 
public:
 
    // reference to the top-left point
    CakPointf& TopLeft() throw();
    // reference to the bottom-right point
    CakPointf& BottomRight() throw();
    // const reference to the top-left point
    const CakPointf& TopLeft() const throw();
    // const reference to the bottom-right point
    const CakPointf& BottomRight() const throw();
    // the geometric center point of the rectangle
    CakPointf CenterPoint() const throw();
 
    bool PtInRect(CakPointf point) const throw();
 
};
 
class AKSTL_DLLSPEC CakRectd : public CakRectT<double>
{
public:
 
    CakRectd(){};
    CakRectd(double l, double t, double r, double b){
        left=l,top=t,right=r,bottom=b;
    };
    virtual ~CakRectd(){};
 
public:
 
    // reference to the top-left point
    CakPointd TopLeft() throw();
    // reference to the bottom-right point
    CakPointd BottomRight() throw();
    // const reference to the top-left point
    const CakPointd TopLeft() const throw();
    // const reference to the bottom-right point
    const CakPointd BottomRight() const throw();
    // the geometric center point of the rectangle
    CakPointd CenterPoint() const throw();
 
    bool PtInRect(CakPointd point) const throw();
 
};