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 SetParentSize(
int w,
int h) {
191 m_ParentSize.SetWidth(w);
192 m_ParentSize.SetHeight(h);
200 void ClearCachedData(
void);
201 void ClearCachedLabel(
void) { m_labelCache.clear(); }
202 void ClearParticles() {
203 delete m_ParticleMap;
204 m_ParticleMap =
nullptr;
210 void GetGraphicColor(
int settings,
double val,
unsigned char &r,
211 unsigned char &g,
unsigned char &b);
212 wxColour GetGraphicColor(
int settings,
double val);
219 void InitColorsTable();
221 void SettingsIdToGribId(
int i,
int &idx,
int &idy,
bool &polar);
236 void RenderGribBarbedArrows(
int config,
GribRecord **pGR,
252 void RenderGribIsobar(
int config,
GribRecord **pGR,
266 void RenderGribDirectionArrows(
int config,
GribRecord **pGR,
311 void OnParticleTimer(wxTimerEvent &event);
313 wxString GetRefString(
GribRecord *rec,
int map);
314 void DrawMessageWindow(wxString msg,
int x,
int y, wxFont *mfont);
316 void DrawProjectedPosition(
int x,
int y);
318 void drawDoubleArrow(
int x,
int y,
double ang, wxColour arrowColor,
319 int arrowWidth,
int arrowSizeIdx,
double scale);
320 void drawSingleArrow(
int x,
int y,
double ang, wxColour arrowColor,
321 int arrowWidth,
int arrowSizeIdx,
double scale);
322 void drawWindArrowWithBarbs(
int settings,
int x,
int y,
double vkn,
323 double ang,
bool south, wxColour arrowColor,
324 double rotate_angle);
325 void drawLineBuffer(
LineBuffer &buffer,
int x,
int y,
double ang,
326 double scale,
bool south =
false,
bool head =
true);
328 void DrawNumbers(wxPoint p,
double value,
int settings, wxColour back_color);
331 wxString getLabelString(
double value,
int settings);
332 wxImage &getLabel(
double value,
int settings, wxColour back_colour);
336 void GetCalibratedGraphicColor(
int settings,
double val_in,
337 unsigned char *data);
340 double x,
double y,
double xs,
double ys);
343 int grib_pixel_size,
const wxPoint &porg);
345 double m_last_vp_scale;
347 GribOverlay *m_pOverlay[GribOverlaySettings::SETTINGS_COUNT];
350 wxString m_Message_Hiden;
353#if wxUSE_GRAPHICS_CONTEXT
354 wxGraphicsContext *m_gdc;
357 wxFont *m_Font_Message;
359 bool m_hiDefGraphics;
360 bool m_bGradualColors;
361 bool m_bDrawBarbedArrowHead;
363 std::map<double, wxImage> m_labelCache;
365 TexFont m_TexFontMessage, m_TexFontNumbers;
371 wxTimer m_tParticleTimer;
372 bool m_bUpdateParticles;
375 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.