forked from sakura-editor/sakura
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCOpeBlk.cpp
86 lines (75 loc) · 2.15 KB
/
COpeBlk.cpp
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
/*! @file
@brief 編集操作要素ブロック
@author Norio Nakatani
@date 1998/06/09 新規作成
*/
/*
Copyright (C) 1998-2001, Norio Nakatani
Copyright (C) 2018-2022, Sakura Editor Organization
This source code is designed for sakura editor.
Please contact the copyright holder to use this code for other purpose.
*/
#include "StdAfx.h"
#include <stdlib.h>
#include "COpeBlk.h"
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
// コンストラクタ・デストラクタ //
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
COpeBlk::COpeBlk()
{
m_refCount = 0;
}
COpeBlk::~COpeBlk()
{
/* 操作の配列を削除する */
int size = (int)m_ppCOpeArr.size();
for( int i = 0; i < size; ++i ){
SAFE_DELETE(m_ppCOpeArr[i]);
}
m_ppCOpeArr.clear();
}
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
// インターフェース //
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
/* 操作の追加 */
bool COpeBlk::AppendOpe( COpe* pcOpe )
{
if(pcOpe->m_ptCaretPos_PHY_Before.HasNegative() || pcOpe->m_ptCaretPos_PHY_After.HasNegative()){
TopErrorMessage( NULL,
L"COpeBlk::AppendOpe() error.\n"
L"Bug.\n"
L"pcOpe->m_ptCaretPos_PHY_Before = %d,%d\n"
L"pcOpe->m_ptCaretPos_PHY_After = %d,%d\n",
pcOpe->m_ptCaretPos_PHY_Before.x,
pcOpe->m_ptCaretPos_PHY_Before.y,
pcOpe->m_ptCaretPos_PHY_After.x,
pcOpe->m_ptCaretPos_PHY_After.y
);
}
/* 配列のメモリサイズを調整 */
m_ppCOpeArr.push_back(pcOpe);
return true;
}
/* 操作を返す */
COpe* COpeBlk::GetOpe( int nIndex )
{
if( GetNum() <= nIndex ){
return NULL;
}
return m_ppCOpeArr[nIndex];
}
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
// デバッグ //
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
/* 編集操作要素ブロックのダンプ */
void COpeBlk::DUMP( void )
{
#ifdef _DEBUG
int i;
int size = GetNum();
for( i = 0; i < size; ++i ){
MYTRACE( L"\tCOpeBlk.m_ppCOpeArr[%d]----\n", i );
m_ppCOpeArr[i]->DUMP();
}
#endif
}