87 void SetQuiltParameters(
double CanvasScaleFactor,
int CanvasWidth) {
88 m_canvas_scale_factor = CanvasScaleFactor;
89 m_canvas_width = CanvasWidth;
92 void EnableHighDefinitionZoom(
bool value) { m_b_hidef = value; }
96 bool IsComposed() {
return m_bcomposed; }
102 std::vector<int> GetQuiltIndexArray(
void);
104 bool IsChartQuiltableRef(
int db_index);
105 ViewPort &GetQuiltVP() {
return m_vp_quilt; }
106 wxString GetQuiltDepthUnit() {
return m_quilt_depth_unit; }
107 void SetRenderedVP(
ViewPort &vp) { m_vp_rendered = vp; }
108 bool HasOverlays(
void) {
return m_bquilt_has_overlays; }
110 int GetExtendedStackCount(
void) {
return m_extended_stack_array.size(); }
111 int GetFullScreenIndexCount(
void) {
return m_fullscreen_index_array.size(); }
113 int GetnCharts() {
return m_PatchList.GetCount(); }
114 double GetBestStartScale(
int dbi_ref_hint,
const ViewPort &vp_in);
117 bool RenderQuiltRegionViewOnDCNoText(wxMemoryDC &dc,
ViewPort &vp,
119 bool RenderQuiltRegionViewOnDCTextOnly(wxMemoryDC &dc,
ViewPort &vp,
122 bool IsVPBlittable(
ViewPort &VPoint,
int dx,
int dy,
123 bool b_allow_vector =
false);
126 int GetChartdbIndexAtPix(
ViewPort &VPoint, wxPoint p);
127 void InvalidateAllQuiltPatchs(
void);
128 void Invalidate(
void) {
130 m_vp_quilt.Invalidate();
134 m_bquiltskew = g_bopengl;
136 m_bquiltanyproj = g_bopengl;
139 int SelectRefChartByFamily(ChartFamilyEnum family);
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 int GetRefChartdbIndex(
void) {
return m_refchart_dbIndex; }
162 int GetQuiltProj(
void) {
return m_quilt_proj; }
163 double GetMaxErrorFactor() {
return m_max_error_factor; }
164 double GetRefScale() {
return m_reference_scale; }
166 ChartFamilyEnum GetRefFamily() {
return (ChartFamilyEnum)m_reference_family; }
168 void SetPreferrefFamily(ChartFamilyEnum family) {
169 m_preferred_family = family;
172 double GetRefNativeScale();
174 std::vector<int> GetCandidatedbIndexArray(
bool from_ref_chart,
175 bool exclude_user_hidden);
176 std::vector<int> &GetExtendedStackIndexArray() {
177 return m_extended_stack_array;
179 std::vector<int> GetEclipsedStackIndexArray() {
180 return m_eclipsed_stack_array;
182 std::vector<int> &GetFullscreenIndexArray() {
183 return m_fullscreen_index_array;
186 unsigned long GetXStackHash() {
return m_xa_hash; }
188 bool IsBusy() {
return m_bbusy; }
191 bool IsChartInQuilt(wxString &full_path);
193 bool IsQuiltVector(
void);
194 bool DoesQuiltContainPlugins(
void);
196 LLRegion GetHiliteRegion();
197 std::vector<int> &GetHiLiteIndexArray() {
return m_HiLiteIndexArray; }
201 int GetNomScaleMin(
int scale, ChartTypeEnum type, ChartFamilyEnum family);
202 int GetNomScaleMax(
int scale, ChartTypeEnum type, ChartFamilyEnum family);
203 ChartFamilyEnum GetPreferredFamily(
void) {
return m_preferred_family; }
206 bool BuildExtendedChartStackAndCandidateArray(
int ref_db_index,
208 int AdjustRefOnZoom(
bool b_zin, ChartFamilyEnum family, ChartTypeEnum type,
209 double proposed_scale_onscreen);
211 bool DoRenderQuiltRegionViewOnDC(wxMemoryDC &dc,
ViewPort &vp,
213 bool DoRenderQuiltRegionViewOnDCTextOnly(wxMemoryDC &dc,
ViewPort &vp,
216 void EmptyCandidateArray(
void);
217 void SubstituteClearDC(wxMemoryDC &dc,
ViewPort &vp);
218 int GetNewRefChart(
void);
219 const LLRegion &GetTilesetRegion(
int dbIndex);
221 bool IsChartS57Overlay(
int db_index);
223 LLRegion m_covered_region;
226 PatchList m_PatchList;
230 wxPatchListNode *cnode;
234 ArrayOfSortedQuiltCandidates *m_pcandidate_array;
235 std::vector<int> m_last_index_array;
236 std::vector<int> m_index_array;
237 std::vector<int> m_extended_stack_array;
238 std::vector<int> m_eclipsed_stack_array;
239 std::vector<int> m_fullscreen_index_array;
245 std::vector<int> m_HiLiteIndexArray;
246 int m_refchart_dbIndex;
247 int m_reference_scale;
248 int m_reference_type;
249 int m_reference_family;
251 LLRegion m_back_region;
252 wxString m_quilt_depth_unit;
253 double m_max_error_factor;
254 double m_canvas_scale_factor;
256 bool m_bquilt_has_overlays;
257 unsigned long m_xa_hash;
262 int m_lost_refchart_dbIndex;
266 bool m_bquiltanyproj;
267 ChartFamilyEnum m_preferred_family;
Represents an entry in the chart table, containing information about a single chart.