29 #ifndef REGION_REGIONSOURCE_H_
30 #define REGION_REGIONSOURCE_H_
99 std::shared_ptr<Rectangle>
rectangle(
WorldCanvas *wc,
double blc_x,
double blc_y,
double trc_x,
double trc_y ) {
105 virtual std::shared_ptr<Polygon>
polygon(
WorldCanvas *wc,
const std::vector<std::pair<double,double> > &pts ) {
111 virtual std::shared_ptr<Polyline>
polyline(
WorldCanvas *wc,
const std::vector<std::pair<double,double> > &pts ) {
114 virtual std::shared_ptr<Rectangle>
ellipse(
WorldCanvas *wc,
double blc_x,
double blc_y,
double trc_x,
double trc_y ) {
120 std::shared_ptr<PVLine>
pvline(
WorldCanvas *wc,
double blc_x,
double blc_y,
double trc_x,
double trc_y ) {
143 return kernel_->currentPointSymbolType( );
virtual int numFrames() const
QtMouseToolNames::PointRegionSymbols currentPointSymbolType() const
virtual std::shared_ptr< Rectangle > point(WorldCanvas *wc, double x, double y, QtMouseToolNames::PointRegionSymbols sym, int size)
virtual std::shared_ptr< PVLine > pvline(RegionCreator *rc, WorldCanvas *wc, double blc_x, double blc_y, double trc_x, double trc_y)=0
std::shared_ptr< Rectangle > rectangle(WorldCanvas *wc, double blc_x, double blc_y, double trc_x, double trc_y)
virtual std::shared_ptr< Polyline > polyline(WorldCanvas *wc, double x1, double y1)
std::list< Region * > created_regions
virtual void generateExistingRegionUpdates()
re-generate regionUpdateResponse() signals for existing regions...
virtual QtRegionDock * dock()
RegionSource(RegionCreator *rc, const shared_kernel_ptr_type &k)
virtual QtMouseToolNames::PointRegionSymbols currentPointSymbolType() const =0
virtual std::shared_ptr< Rectangle > point(RegionCreator *rc, WorldCanvas *wc, double x, double y, QtMouseToolNames::PointRegionSymbols sym, int size)=0
shared_kernel_ptr_type kernel()
shared_kernel_ptr_type kernel_
virtual std::shared_ptr< Rectangle > ellipse(WorldCanvas *wc, double blc_x, double blc_y, double trc_x, double trc_y)
RegionSourceKernel::shared_kernel_ptr_type shared_kernel_ptr_type
void revokeRegion(Region *r)
virtual std::shared_ptr< Polygon > polygon(RegionCreator *rc, WorldCanvas *wc, double x1, double y1)=0
std::shared_ptr< PVLine > pvline(WorldCanvas *wc, double blc_x, double blc_y, double trc_x, double trc_y)
All regions are specified in "linear coordinates", not "pixel coordinates".
virtual std::shared_ptr< Polyline > polyline(WorldCanvas *wc, const std::vector< std::pair< double, double > > &pts)
virtual std::shared_ptr< Rectangle > rectangle(RegionCreator *rc, WorldCanvas *wc, double blc_x, double blc_y, double trc_x, double trc_y)=0
virtual ~RegionSourceKernel()
RegionSource(const RegionSource &other)
std::shared_ptr< RegionSourceKernel > shared_kernel_ptr_type
Implementation of drawing in world coordinates on top of a PixelCanvas.
void register_new_region(Region *)
register region for dtor callback, and add to list of created regions...
virtual std::shared_ptr< Rectangle > ellipse(RegionCreator *rc, WorldCanvas *wc, double blc_x, double blc_y, double trc_x, double trc_y)=0
virtual std::shared_ptr< Polygon > polygon(WorldCanvas *wc, const std::vector< std::pair< double, double > > &pts)
virtual std::shared_ptr< Polygon > polygon(WorldCanvas *wc, double x1, double y1)
RegionCreator * region_creator
virtual void revokeRegion(Region *r)=0
void dtorCalled(const dtorNotifier *)
inherited pure-virtual from dtorNotifiee, removes deleted regions...
virtual std::shared_ptr< Polyline > polyline(RegionCreator *rc, WorldCanvas *wc, double x1, double y1)=0