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;
140 LLRegion &GetFullQuiltRegion(
void) {
return m_covered_region; }
141 OCPNRegion &GetFullQuiltRenderedRegion(
void) {
return m_rendered_region; }
142 bool IsChartSmallestScale(
int dbIndex);
144 int AdjustRefOnZoomOut(
double proposed_scale_onscreen);
145 int AdjustRefOnZoomIn(
double proposed_scale_onscreen);
148 int AdjustRefSelection(
const ViewPort &vp_in);
150 void SetHiliteIndex(
int index) { m_nHiLiteIndex = index; }
151 void SetHiliteIndexArray(
const std::vector<int> &index_array) {
152 m_HiLiteIndexArray = index_array;
154 void ClearHiliteIndexArray() { m_HiLiteIndexArray.clear(); }
156 void SetReferenceChart(
int dbIndex);
157 int GetRefChartdbIndex(
void) {
return m_refchart_dbIndex; }
161 int GetQuiltProj(
void) {
return m_quilt_proj; }
162 double GetMaxErrorFactor() {
return m_max_error_factor; }
163 double GetRefScale() {
return m_reference_scale; }
165 ChartFamilyEnum GetRefFamily() {
return (ChartFamilyEnum)m_reference_family; }
167 void SetPreferrefFamily(ChartFamilyEnum family) {
168 m_preferred_family = family;
171 double GetRefNativeScale();
173 std::vector<int> GetCandidatedbIndexArray(
bool from_ref_chart,
174 bool exclude_user_hidden);
175 std::vector<int> &GetExtendedStackIndexArray() {
176 return m_extended_stack_array;
178 std::vector<int> GetEclipsedStackIndexArray() {
179 return m_eclipsed_stack_array;
181 std::vector<int> &GetFullscreenIndexArray() {
182 return m_fullscreen_index_array;
185 unsigned long GetXStackHash() {
return m_xa_hash; }
187 bool IsBusy() {
return m_bbusy; }
190 bool IsChartInQuilt(wxString &full_path);
192 bool IsQuiltVector(
void);
193 bool DoesQuiltContainPlugins(
void);
195 LLRegion GetHiliteRegion();
196 std::vector<int> &GetHiLiteIndexArray() {
return m_HiLiteIndexArray; }
200 int GetNomScaleMin(
int scale, ChartTypeEnum type, ChartFamilyEnum family);
201 int GetNomScaleMax(
int scale, ChartTypeEnum type, ChartFamilyEnum family);
202 ChartFamilyEnum GetPreferredFamily(
void) {
return m_preferred_family; }
205 bool BuildExtendedChartStackAndCandidateArray(
int ref_db_index,
207 int AdjustRefOnZoom(
bool b_zin, ChartFamilyEnum family, ChartTypeEnum type,
208 double proposed_scale_onscreen);
210 bool DoRenderQuiltRegionViewOnDC(wxMemoryDC &dc,
ViewPort &vp,
212 bool DoRenderQuiltRegionViewOnDCTextOnly(wxMemoryDC &dc,
ViewPort &vp,
215 void EmptyCandidateArray(
void);
216 void SubstituteClearDC(wxMemoryDC &dc,
ViewPort &vp);
217 int GetNewRefChart(
void);
218 const LLRegion &GetTilesetRegion(
int dbIndex);
220 bool IsChartS57Overlay(
int db_index);
222 LLRegion m_covered_region;
225 PatchList m_PatchList;
229 wxPatchListNode *cnode;
233 ArrayOfSortedQuiltCandidates *m_pcandidate_array;
234 std::vector<int> m_last_index_array;
235 std::vector<int> m_index_array;
236 std::vector<int> m_extended_stack_array;
237 std::vector<int> m_eclipsed_stack_array;
238 std::vector<int> m_fullscreen_index_array;
244 std::vector<int> m_HiLiteIndexArray;
245 int m_refchart_dbIndex;
246 int m_reference_scale;
247 int m_reference_type;
248 int m_reference_family;
250 LLRegion m_back_region;
251 wxString m_quilt_depth_unit;
252 double m_max_error_factor;
253 double m_canvas_scale_factor;
255 bool m_bquilt_has_overlays;
256 unsigned long m_xa_hash;
261 int m_lost_refchart_dbIndex;
265 bool m_bquiltanyproj;
266 ChartFamilyEnum m_preferred_family;
Represents an entry in the chart table, containing information about a single chart.