88 void SetQuiltParameters(
double CanvasScaleFactor,
int CanvasWidth) {
89 m_canvas_scale_factor = CanvasScaleFactor;
90 m_canvas_width = CanvasWidth;
93 void EnableHighDefinitionZoom(
bool value) { m_b_hidef = value; }
97 bool IsComposed() {
return m_bcomposed; }
103 std::vector<int> GetQuiltIndexArray(
void);
105 bool IsChartQuiltableRef(
int db_index);
106 ViewPort &GetQuiltVP() {
return m_vp_quilt; }
107 wxString GetQuiltDepthUnit() {
return m_quilt_depth_unit; }
108 void SetRenderedVP(
ViewPort &vp) { m_vp_rendered = vp; }
109 bool HasOverlays(
void) {
return m_bquilt_has_overlays; }
111 int GetExtendedStackCount(
void) {
return m_extended_stack_array.size(); }
112 int GetFullScreenIndexCount(
void) {
return m_fullscreen_index_array.size(); }
114 int GetnCharts() {
return m_PatchList.GetCount(); }
115 double GetBestStartScale(
int dbi_ref_hint,
const ViewPort &vp_in);
118 bool RenderQuiltRegionViewOnDCNoText(wxMemoryDC &dc,
ViewPort &vp,
120 bool RenderQuiltRegionViewOnDCTextOnly(wxMemoryDC &dc,
ViewPort &vp,
123 bool IsVPBlittable(
ViewPort &VPoint,
int dx,
int dy,
124 bool b_allow_vector =
false);
127 int GetChartdbIndexAtPix(
ViewPort &VPoint, wxPoint p);
128 void InvalidateAllQuiltPatchs(
void);
129 void Invalidate(
void) {
131 m_vp_quilt.Invalidate();
135 m_bquiltskew = g_bopengl;
137 m_bquiltanyproj = g_bopengl;
141 LLRegion &GetFullQuiltRegion(
void) {
return m_covered_region; }
142 OCPNRegion &GetFullQuiltRenderedRegion(
void) {
return m_rendered_region; }
143 bool IsChartSmallestScale(
int dbIndex);
145 int AdjustRefOnZoomOut(
double proposed_scale_onscreen);
146 int AdjustRefOnZoomIn(
double proposed_scale_onscreen);
149 int AdjustRefSelection(
const ViewPort &vp_in);
151 void SetHiliteIndex(
int index) { m_nHiLiteIndex = index; }
152 void SetHiliteIndexArray(
const std::vector<int> &index_array) {
153 m_HiLiteIndexArray = index_array;
155 void ClearHiliteIndexArray() { m_HiLiteIndexArray.clear(); }
157 void SetReferenceChart(
int dbIndex) {
158 m_refchart_dbIndex = dbIndex;
163 int GetRefChartdbIndex(
void) {
return m_refchart_dbIndex; }
167 int GetQuiltProj(
void) {
return m_quilt_proj; }
168 double GetMaxErrorFactor() {
return m_max_error_factor; }
169 double GetRefScale() {
return m_reference_scale; }
171 ChartFamilyEnum GetRefFamily() {
return (ChartFamilyEnum)m_reference_family; }
173 void SetPreferrefFamily(ChartFamilyEnum family) {
174 m_preferred_family = family;
177 double GetRefNativeScale();
179 std::vector<int> GetCandidatedbIndexArray(
bool from_ref_chart,
180 bool exclude_user_hidden);
181 std::vector<int> &GetExtendedStackIndexArray() {
182 return m_extended_stack_array;
184 std::vector<int> GetEclipsedStackIndexArray() {
185 return m_eclipsed_stack_array;
187 std::vector<int> &GetFullscreenIndexArray() {
188 return m_fullscreen_index_array;
191 unsigned long GetXStackHash() {
return m_xa_hash; }
193 bool IsBusy() {
return m_bbusy; }
196 bool IsChartInQuilt(wxString &full_path);
198 bool IsQuiltVector(
void);
199 bool DoesQuiltContainPlugins(
void);
201 LLRegion GetHiliteRegion();
202 std::vector<int> &GetHiLiteIndexArray() {
return m_HiLiteIndexArray; }
206 int GetNomScaleMin(
int scale, ChartTypeEnum type, ChartFamilyEnum family);
207 int GetNomScaleMax(
int scale, ChartTypeEnum type, ChartFamilyEnum family);
208 ChartFamilyEnum GetPreferredFamily(
void) {
return m_preferred_family; }
211 bool BuildExtendedChartStackAndCandidateArray(
int ref_db_index,
213 int AdjustRefOnZoom(
bool b_zin, ChartFamilyEnum family, ChartTypeEnum type,
214 double proposed_scale_onscreen);
216 bool DoRenderQuiltRegionViewOnDC(wxMemoryDC &dc,
ViewPort &vp,
218 bool DoRenderQuiltRegionViewOnDCTextOnly(wxMemoryDC &dc,
ViewPort &vp,
221 void EmptyCandidateArray(
void);
222 void SubstituteClearDC(wxMemoryDC &dc,
ViewPort &vp);
223 int GetNewRefChart(
void);
224 const LLRegion &GetTilesetRegion(
int dbIndex);
226 bool IsChartS57Overlay(
int db_index);
228 LLRegion m_covered_region;
231 PatchList m_PatchList;
235 wxPatchListNode *cnode;
239 ArrayOfSortedQuiltCandidates *m_pcandidate_array;
240 std::vector<int> m_last_index_array;
241 std::vector<int> m_index_array;
242 std::vector<int> m_extended_stack_array;
243 std::vector<int> m_eclipsed_stack_array;
244 std::vector<int> m_fullscreen_index_array;
250 std::vector<int> m_HiLiteIndexArray;
251 int m_refchart_dbIndex;
252 int m_reference_scale;
253 int m_reference_type;
254 int m_reference_family;
256 LLRegion m_back_region;
257 wxString m_quilt_depth_unit;
258 double m_max_error_factor;
259 double m_canvas_scale_factor;
261 bool m_bquilt_has_overlays;
262 unsigned long m_xa_hash;
267 int m_lost_refchart_dbIndex;
271 bool m_bquiltanyproj;
272 ChartFamilyEnum m_preferred_family;
Represents an entry in the chart table, containing information about a single chart.