NCBI C++ ToolKit
Classes | Functions | Variables
feature_glyph.cpp File Reference
#include <ncbi_pch.hpp>
#include <gui/widgets/seq_graphic/feature_glyph.hpp>
#include <gui/widgets/seq_graphic/rendering_ctx.hpp>
#include <gui/widgets/seq_graphic/seqgraphic_utils.hpp>
#include <gui/widgets/seq_graphic/layout_track_impl.hpp>
#include <gui/widgets/seq_graphic/layout_group.hpp>
#include <gui/widgets/seq_graphic/named_group.hpp>
#include <gui/widgets/seq_graphic/config_utils.hpp>
#include <gui/widgets/gl/ruler.hpp>
#include <gui/objutils/obj_fingerprint.hpp>
#include <gui/objutils/utils.hpp>
#include <gui/objutils/gui_object_info_seq_feat.hpp>
#include <gui/objutils/tooltip.hpp>
#include <gui/objutils/snp_gui.hpp>
#include <gui/opengl/gltexturefont.hpp>
#include <gui/opengl/irender.hpp>
#include <objects/seqfeat/Variation_ref.hpp>
#include <objects/seqfeat/Variation_inst.hpp>
#include <objects/seqfeat/Delta_item.hpp>
#include <objects/seqfeat/Feat_id.hpp>
#include <objects/general/Dbtag.hpp>
#include <objects/general/Object_id.hpp>
#include <objects/general/User_object.hpp>
#include <objects/seqloc/Seq_interval.hpp>
#include <objects/seq/Seq_literal.hpp>
#include <objects/seqloc/Giimport_id.hpp>
#include <objmgr/util/sequence.hpp>
#include <objtools/alnmgr/aln_converters.hpp>
#include <objtools/snputil/snp_utils.hpp>
#include <util/sequtil/sequtil_manip.hpp>
#include <corelib/ncbi_stack.hpp>
#include <math.h>
+ Include dependency graph for feature_glyph.cpp:

Go to the source code of this file.

Go to the SVN repository for this file.

Classes

struct  SRangeSorter< T >
 sorting functor for finding a range inside a collection of layout objects More...
 

Functions

 USING_SCOPE (objects)
 
static int s_GetLiteralLength (const CVariation_ref &var)
 
TVPUnit s_AdjustScreenCoordinate (TModelUnit x)
 

Variables

static const int kRulerHeight = 16
 feature ruler height. More...
 
static const int kVertSpace = 2
 vertical space between elements. More...
 
static const TModelUnit kRSiteMarkerHeight = 0.5
 Restriction sites marker height (relative to the height of the bar) More...
 
static const TModelUnit kRSiteMarkerWidth = 0.4
 Restriction sites marker width (absolute) More...
 
static const TModelUnit kRSiteMarkerThreshold = 2
 Restriction sites marker visibility threshold (ie if the marker's width is smaller then the threshold, markers are not drawn) More...
 
static const float kMinScaleForRulerLabels = 16.
 Shoudl match feature_ds.cpp::kMinScaleForMapping i.e. More...
 

Function Documentation

◆ s_AdjustScreenCoordinate()

TVPUnit s_AdjustScreenCoordinate ( TModelUnit  x)

Definition at line 1757 of file feature_glyph.cpp.

Referenced by CFeatGlyph::x_DrawProjectedRuler().

◆ s_GetLiteralLength()

static int s_GetLiteralLength ( const CVariation_ref var)
static

◆ USING_SCOPE()

USING_SCOPE ( objects  )

Variable Documentation

◆ kMinScaleForRulerLabels

const float kMinScaleForRulerLabels = 16.
static

Shoudl match feature_ds.cpp::kMinScaleForMapping i.e.

what mapping is not created then do not show ruler labels

Definition at line 91 of file feature_glyph.cpp.

Referenced by CFeatGlyph::x_DrawProjectedRuler(), and CFeatGlyph::x_DrawRuler().

◆ kRSiteMarkerHeight

const TModelUnit kRSiteMarkerHeight = 0.5
static

Restriction sites marker height (relative to the height of the bar)

Definition at line 81 of file feature_glyph.cpp.

Referenced by CFeatGlyph::x_DrawFeatureBar(), CFeatGlyph::x_DrawRSites(), and CFeatGlyph::x_UpdateBoundingBox().

◆ kRSiteMarkerThreshold

const TModelUnit kRSiteMarkerThreshold = 2
static

Restriction sites marker visibility threshold (ie if the marker's width is smaller then the threshold, markers are not drawn)

Definition at line 87 of file feature_glyph.cpp.

Referenced by CFeatGlyph::x_DrawFeatureBar(), CFeatGlyph::x_DrawRSites(), and CFeatGlyph::x_UpdateBoundingBox().

◆ kRSiteMarkerWidth

const TModelUnit kRSiteMarkerWidth = 0.4
static

Restriction sites marker width (absolute)

Definition at line 84 of file feature_glyph.cpp.

Referenced by CFeatGlyph::x_DrawFeatureBar(), CFeatGlyph::x_DrawRSites(), and CFeatGlyph::x_UpdateBoundingBox().

◆ kRulerHeight

const int kRulerHeight = 16
static

◆ kVertSpace

const int kVertSpace = 2
static

vertical space between elements.

Definition at line 78 of file feature_glyph.cpp.

Referenced by CFeatGlyph::GetBarCenter(), CFeatGlyph::x_Draw(), CFeatGlyph::x_DrawLabelWithXPinned(), and CFeatGlyph::x_UpdateBoundingBox().

Modified on Sun Jul 14 04:55:14 2024 by modify_doxy.py rev. 669887