16 int pos,
double d,
const TickSizes& tickSizes, wxFont font,
22 const int mLength = context.
mLength;
24 const int mLeft = context.
mLeft;
25 const int mTop = context.
mTop;
26 const int mBottom = context.
mBottom;
27 const int mRight = context.
mRight;
32 const int spacing = (mOrientation == wxHORIZONTAL) ? 6 : 2;
33 const bool mFlip = context.
mFlip;
36 if ((mDbMirrorValue > 1.0) && (-d > mDbMirrorValue))
37 d = -2 * mDbMirrorValue - d;
41 if (outputs.
labels.size() >= mLength)
54 mLeft, mTop, spacing, mFonts.
lead,
58 auto& rect = result.first;
59 outputs.
box.Union(rect);
60 outputs.
labels.emplace_back(result.second);
61 return !rect.IsEmpty();
bool Tick(wxDC &dc, int pos, double d, const TickSizes &tickSizes, wxFont font, TickOutputs outputs, const RulerStruct &context) const
virtual ~GeneratedUpdater() override=0
static std::pair< wxRect, Label > MakeTick(RulerUpdater::Label lab, wxDC &dc, wxFont font, std::vector< bool > &bits, int left, int top, int spacing, int lead, bool flip, int orientation)
Holds a msgid for the translation catalog; may also bind format arguments.
std::unique_ptr< Fonts > mpFonts
TranslatableString mUnits
const RulerFormat * mpRulerFormat
An array of these created by the Updater is used to determine what and where text annotations to the ...
std::optional< TranslatableString > text
TranslatableString LabelString(double d, const RulerFormat *format) const