181 void SetSettings(
bool hiDefGraphics,
bool GradualColors,
182 bool BarbedArrowHead =
true) {
183 m_hiDefGraphics = hiDefGraphics;
184 m_bGradualColors = GradualColors;
185 m_bDrawBarbedArrowHead = BarbedArrowHead;
188 void SetMessageFont();
189 void SetMessage(wxString message) { m_Message = message; }
190 void SetTimeZone(
int TimeZone) { m_TimeZone = TimeZone; }
191 void SetParentSize(
int w,
int h) {
192 m_ParentSize.SetWidth(w);
193 m_ParentSize.SetHeight(h);
201 void ClearCachedData(
void);
202 void ClearCachedLabel(
void) { m_labelCache.clear(); }
203 void ClearParticles() {
204 delete m_ParticleMap;
205 m_ParticleMap =
nullptr;
211 void GetGraphicColor(
int settings,
double val,
unsigned char &r,
212 unsigned char &g,
unsigned char &b);
213 wxColour GetGraphicColor(
int settings,
double val);
220 void InitColorsTable();
222 void SettingsIdToGribId(
int i,
int &idx,
int &idy,
bool &polar);
224 void RenderGribBarbedArrows(
int config,
GribRecord **pGR,
226 void RenderGribIsobar(
int config,
GribRecord **pGR,
228 void RenderGribDirectionArrows(
int config,
GribRecord **pGR,
234 void OnParticleTimer(wxTimerEvent &event);
236 wxString GetRefString(
GribRecord *rec,
int map);
237 void DrawMessageWindow(wxString msg,
int x,
int y, wxFont *mfont);
239 void DrawProjectedPosition(
int x,
int y);
241 void drawDoubleArrow(
int x,
int y,
double ang, wxColour arrowColor,
242 int arrowWidth,
int arrowSizeIdx,
double scale);
243 void drawSingleArrow(
int x,
int y,
double ang, wxColour arrowColor,
244 int arrowWidth,
int arrowSizeIdx,
double scale);
245 void drawWindArrowWithBarbs(
int settings,
int x,
int y,
double vkn,
246 double ang,
bool south, wxColour arrowColor,
247 double rotate_angle);
248 void drawLineBuffer(
LineBuffer &buffer,
int x,
int y,
double ang,
249 double scale,
bool south =
false,
bool head =
true);
251 void DrawNumbers(wxPoint p,
double value,
int settings, wxColour back_color);
254 wxString getLabelString(
double value,
int settings);
255 wxImage &getLabel(
double value,
int settings, wxColour back_colour);
259 void GetCalibratedGraphicColor(
int settings,
double val_in,
260 unsigned char *data);
263 double x,
double y,
double xs,
double ys);
266 int grib_pixel_size,
const wxPoint &porg);
268 double m_last_vp_scale;
270 GribOverlay *m_pOverlay[GribOverlaySettings::SETTINGS_COUNT];
273 wxString m_Message_Hiden;
277#if wxUSE_GRAPHICS_CONTEXT
278 wxGraphicsContext *m_gdc;
281 wxFont *m_Font_Message;
283 bool m_hiDefGraphics;
284 bool m_bGradualColors;
285 bool m_bDrawBarbedArrowHead;
287 std::map<double, wxImage> m_labelCache;
289 TexFont m_TexFontMessage, m_TexFontNumbers;
295 wxTimer m_tParticleTimer;
296 bool m_bUpdateParticles;
299 LineBuffer m_SingleArrow[2], m_DoubleArrow[2];
Manager for particle animation system.
Individual particle for wind/current animation.
int m_Duration
Duration this particle should exist in animation cycles.