-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Marks.hpp
49 lines (42 loc) · 2.07 KB
/
Marks.hpp
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
//////////////////////////////////////////////////////////////////////////////
// Marks.hpp --- XWordGiver (Japanese Crossword Generator)
// Copyright (C) 2012-2020 Katayama Hirofumi MZ. All Rights Reserved.
// (Japanese, UTF-8)
#pragma once
// 二重マスの位置。
extern std::vector<XG_Pos> xg_vMarks;
// 二重マス単語候補。
extern std::vector<XGStringW> xg_vMarkedCands;
// 二重マス単語。
extern XGStringW xg_strMarked;
// 選択中の二重マス単語の候補のインデックス。
extern int xg_iMarkedCand;
//////////////////////////////////////////////////////////////////////////////
// マーク文字列を取得する。
void __fastcall XgGetStringOfMarks(XGStringW& str);
// マーク文字列を取得する2。
void __fastcall XgGetStringOfMarks2(XGStringW& str);
// マークされているか(二重マス)?
int __fastcall XgGetMarked(const std::vector<XG_Pos>& vMarks, const XG_Pos& pos) noexcept;
// マークされているか(二重マス)?
int __fastcall XgGetMarked(const std::vector<XG_Pos>& vMarks, int i, int j) noexcept;
// マークされているか(二重マス)?
int __fastcall XgGetMarked(int i, int j) noexcept;
// 二重マスが更新された。
void __fastcall XgMarkUpdate(void);
// 指定のマスにマークする(二重マス)。
void __fastcall XgSetMark(const XG_Pos& pos);
// 指定のマスにマークする(二重マス)。
void __fastcall XgSetMark(int i, int j);
// 指定のマスのマーク(二重マス)を解除する。
void __fastcall XgDeleteMark(int i, int j);
// マーク文字列を設定する。
void __fastcall XgSetStringOfMarks(LPCWSTR psz);
// 二重マス単語を取得する。
bool __fastcall XgGetMarkWord(const XG_Board *xw, XGStringW& str);
// 二重マス単語を設定する。
BOOL __fastcall XgSetMarkedWord(const XGStringW& str, WCHAR *pchNotFound = nullptr);
// 二重マス単語を空にする。
void __fastcall XgSetMarkedWord(void);
// 二重マス単語候補を取得する。
bool __fastcall XgGetMarkedCandidates(void);