wxContextMenuEvent;
117 virtual boolOnLeftDblClick(
const TModelPoint&
);
118 virtual boolOnContextMenu(wxContextMenuEvent& event);
155 virtual voidUpdate(
bool);
158 virtual TSeqRangeGetRange(
void)
const;
171 virtual boolSetSelected(
boolflag);
198 virtual boolLessBySeqPos(
const CSeqGlyph& obj)
const;
205 boolLessByPos(
const CSeqGlyph& obj)
const;
208 boolLessBySeqSize(
const CSeqGlyph& obj)
const;
213 boolLessBySize(
const CSeqGlyph& obj)
const;
228 boolIsSelected()
const;
229 boolIsHighlighted()
const;
240 const CSeqGlyph* GetParent(
void)
const;
242ENeighbours GetNeighbours()
const;
247 voidSetHighlighted(
boolflag);
248 voidSetHighlightsColor(
const CRgbaColor&hl_color);
249 voidSetHighlightsColor(
const string&hl_color_str);
254 virtual voidSetPos(
const TModelPoint& upper_left);
257 voidSetNeighbours(ENeighbours neighbours);
261 voidSetRender(IGlyphRenderer* renderer);
273 voidSetTearline(
size_tTearline);
274 size_tGetTearline()
const;
277 void SetTearlineText(
const string& sTearlineText) { m_sTearlineText = sTearlineText; }
280 void SetRowNum(
size_tcur_row) { m_RowNumber = cur_row; }
298 floatGetFadeFactor()
const;
307 virtual voidx_DrawHighlight()
const;
310 voidx_DrawInnerLabels(
TModelUnitbase,
const string&
label,
const CRgbaColor&
color,
const CGlTextureFont& font,
boolside_label_visible,
boolinside_only, vector<TModelRange> *labels_ranges =
nullptr,
TSeqRange* interval =
nullptr,
boolXOR_mode =
false)
const;
313 voidx_DrawException()
const;
316 virtual voidx_OnLayoutChanged();
325 voidx_Parent2Local(
TModelRect& rect)
const;
339 boolx_Visible_V()
const;
342 boolx_IntersectVisible(
const CRange<T>& SeqRange,
T& from,
T& to)
const;
521 returnvisitor->
Visit(
this);
538 return r0.GetFrom() <
r1.GetFrom() ||
539(
r0.GetFrom() ==
r1.GetFrom() &&
r0.GetTo() <
r1.GetTo());
570{
return IsIn(p.
X(), p.
Y()); }
663{
m_Pos= upper_left; }
706 returnl < x && r > x && t < y && b > y;
744 floatfade_factor = 1.0;
749fade_factor =
std::max(0.0f, fade_factor);
CRenderingContext offers the basic context and utility methods for rendering layout objects in featur...
class CRgbaColor provides a simple abstraction for managing colors.
Layout renderer interface.
virtual void Draw(const CSeqGlyph *) const =0
virtual ~IGlyphRenderer()
class CSeqGlyph defines an interface that wraps a rectilinear abstract object.
void SetHighlightsColor(const CRgbaColor &hl_color)
string GetTearlineText() const
ENeighbours m_Neighbours
Indicates whether the glyph has neighbours.
CRenderingContext * m_Context
the rendering context
virtual string GetPName() const
persistent name of the glyph should not depend on the instance of the glyph, but should uniquely refl...
TModelUnit m_Width
object width
void x_Parent2Local(TModelPoint &pnt) const
Transform the coordiante from parent coord. to local coord.
void SetRowNum(size_t cur_row)
virtual void SetHeight(TModelUnit h)
virtual void SetHideLabel(bool)
Force to hide label.
virtual bool IsClickable() const
Query if this glyph is clickable.
const CRenderingContext * GetRenderingContext() const
Get the rendering context.
bool LessBySeqSize(const CSeqGlyph &obj) const
compare this object to another, based on sequence size.
virtual TModelUnit GetRight() const
virtual void x_Draw() const =0
The default renderer for this layout object.
const TModelPoint & GetPos() const
static bool PointInRect(const TModelPoint &p, const TModelRect &rc)
TModelPoint m_Pos
upper left corner position in parent coord
CSeqGlyph * SetParent(void)
bool IsIn(const TModelPoint &p) const
Hit test for points in PARENT COORD.
virtual void SetWidth(TModelUnit w)
void SetTearline(size_t Tearline)
tearline factor â used to limit a list of glyphs
virtual TSeqRange GetRange(void) const
get the total range of this object.
CSeqGlyph * m_Parent
parent/child relationships for this feature
virtual void SetLeft(TModelUnit l)
virtual TModelUnit GetTop() const
void SetRender(IGlyphRenderer *renderer)
set customized renderer for this layout objects.
virtual TModelUnit GetHeight() const
bool LessByPos(const CSeqGlyph &obj) const
compare this object to another, based on glyph geometry position.
virtual bool LessBySeqPos(const CSeqGlyph &obj) const
compare this object to another based on glyph sequence position.
unique_ptr< CRgbaColor > m_HighlightsColor
Highlight color.
float GetFadeFactor() const
virtual void SetTop(TModelUnit b)
void SetNeighbours(ENeighbours neighbours)
TModelUnit m_Height
object height
virtual bool Accept(IGlyphVisitor *visitor)
Interface for accepting an IGlyphVisitor.
virtual bool HasSideLabel() const
Query if there is label and label is on the side.
int m_Level
shows how deep is the glyph in an hierarchy (0 being closer to root, -1 undefined)
size_t GetTearline() const
CRgbaColor * GetHighlightsColor() const
size_t GetVisible() const
ENeighbours GetNeighbours() const
virtual bool SetSelected(bool flag)
Select or deselect this glyph.
void x_Local2World(TModelPoint &p) const
Transform the coordiantes from local coord. to world coord.
virtual TModelUnit GetWidth() const
CIRef< IGlyphRenderer > m_Renderer
user-defined renderer
virtual void SetPos(const TModelPoint &upper_left)
virtual void GetHTMLActiveAreas(TAreaVector *) const
Get html active areas.
virtual void x_UpdateBoundingBox()=0
Update the bounding box assuming children's sizes are fixed if any.
void GetPosInWorld(TModelPoint &pos) const
Get top left position in world coordinate.
void SetVisible(size_t v)
virtual TModelUnit GetLeft() const
TModelRect GetModelRect() const
get the bounding box.
vector< CHTMLActiveArea > TAreaVector
void SetHighlighted(bool flag)
void x_World2Local(TModelPoint &p) const
Transform the coordiante from world coord. to local coord.
bool LessBySize(const CSeqGlyph &obj) const
compare this object to another, based on geometry size.
virtual TModelUnit GetBottom() const
void SetTearlineText(const string &sTearlineText)
tearline text â if set, is appended to the glyph name (does not naffect processing otherwise)
const CSeqGlyph * GetParent(void) const
list< CRef< CSeqGlyph > > TObjects
list< CConstRef< CSeqGlyph > > TConstObjects
void SetRenderingContext(CRenderingContext *context)
Set the rendering context.
bool IsHighlighted() const
IGlyphDialogHost An interface used for handling issues related to any dialog pops up that requires so...
virtual void PostDialogShow()=0
Post-processing after showing a dialog.
virtual void PreDialogShow()=0
Prepare for showing a dialog.
virtual ~IGlyphDialogHost()
Visitor interface for applying any potential actions or algorithms.
virtual bool Visit(CSeqGlyph *glyph)=0
The NCBI C++ standard methods for dealing with std::string.
unsigned int TSeqPos
Type for sequence locations and lengths.
void swap(NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)
void Offset(T d_x, T d_y)
CGlRect< TModelUnit > TModelRect
vector< CConstRef< CObject > > TConstObjects
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
position_type GetLength(void) const
CRange< TSeqPos > TSeqRange
typedefs for sequence ranges
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
static const char label[]
Defines to provide correct exporting from DLLs in Windows.
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
static const size_t kFadeCount
bool operator<(const CSeqGlyph &o1, const CSeqGlyph &o2)
static const sljit_gpr r1
static const sljit_gpr r0
static SLJIT_INLINE sljit_ins l(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
basic sort by geometry position function.
bool operator()(const CRef< CSeqGlyph > &ref_obj1, const CRef< CSeqGlyph > &ref_obj2) const
basic sort by sequence position function.
bool operator()(const CRef< CSeqGlyph > &ref_obj1, const CRef< CSeqGlyph > &ref_obj2) const
static bool s_CompareCRefs(const CRef< CSeqGlyph > &ref_obj1, const CRef< CSeqGlyph > &ref_obj2)
basic sort by sequence size function Larger size objects will be put in front.
static bool s_CompareCRefs(const CRef< CSeqGlyph > &ref_obj1, const CRef< CSeqGlyph > &ref_obj2)
bool operator()(const CRef< CSeqGlyph > &ref_obj1, const CRef< CSeqGlyph > &ref_obj2) const
basic sort by geometry size function
bool operator()(const CRef< CSeqGlyph > &ref_obj1, const CRef< CSeqGlyph > &ref_obj2) const
static CS_CONTEXT * context
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4