123 else if (
gVirtualX->InheritsFrom(
"TGCocoa"))
131 "Cannot load GL, will use default canvas imp instead\n");
199 Int_t button =
event->fCode;
243 Int_t button =
event->fCode;
275 static UInt_t previous_keysym = 0;
293 gROOT->SetInterrupt();
296 if (keysym > 0x1011 && keysym < 0x1016) {
299 Int_t mx, my, tx, ty;
301 gVirtualX->QueryPointer(wid, dum1, dum2, mx, my, mx, my, mask);
304 mx, my, tx, ty, dum1);
308 if ((previous_keysym == keysym) && (previous_event ==
kGKeyPress)) {
327 previous_keysym = keysym;
337 if (keysym > 0x1011 && keysym < 0x1016) {
340 Int_t mx, my, tx, ty;
342 gVirtualX->QueryPointer(wid, dum1, dum2, mx, my, mx, my, mask);
361 mx, my, tx, ty, dum1);
363 previous_keysym = keysym;
367 previous_event =
event->fType;
402 if (
event->fCount == 0)
438 if (!obj)
return kTRUE;
442 if (!
object)
return kTRUE;
443 if (
object->InheritsFrom(
"TGraph"))
445 else if (
object->InheritsFrom(
"TImage"))
447 else if (
object->IsA()->GetMethodAllAny(
"Draw"))
452 else if (obj->IsA()->GetMethodAllAny(
"Draw"))
460 if (sfname.
Length() > 7) {
491 Int_t px = 0, py = 0;
496 xroot, yroot, px, py, wtarget);
501 gROOT->SetSelectedPad(pad);
516 for (
int i = 0; typelist[i] !=
kNone; ++i) {
517 if (typelist[i] == rootObj)
519 if (typelist[i] == uriObj)
544 out << std::endl <<
" // embedded canvas" << std::endl;
545 out <<
" TRootEmbeddedCanvas *";
551 out <<
");" << std::endl;
558 if (option && strstr(option,
"keep_names"))
559 out <<
" " <<
GetName() <<
"->SetName(\"" <<
GetName() <<
"\");" << std::endl;
562 <<
"->GetCanvasWindowId();" << std::endl;
568 out << cname <<
" = new TCanvas(";
569 out << quote << cname.
Data() << quote <<
", 10, 10, w"
570 <<
GetName() <<
");" << std::endl;
571 out <<
" " <<
GetName() <<
"->AdoptCanvas(" << cname
572 <<
");" << std::endl;
const Mask_t kButtonPressMask
const Mask_t kExposureMask
const Mask_t kKeyReleaseMask
const Mask_t kAnyModifier
const Mask_t kKeyPressMask
const Mask_t kPointerMotionMask
const Mask_t kKeyShiftMask
const Mask_t kLeaveWindowMask
const Mask_t kStructureNotifyMask
const Mask_t kButtonReleaseMask
Handle_t Window_t
Window handle.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
char * Form(const char *fmt,...)
R__EXTERN TStyle * gStyle
The concrete implementation of TBuffer for writing/reading to/from a ROOT file or socket.
void * ReadObjectAny(const TClass *cast) override
Read object from I/O buffer.
void SetReadMode()
Set buffer in read mode.
TPad * Pick(Int_t px, Int_t py, TObjLink *&pickobj) override
Search for an object at pixel position px,py.
virtual void Resize(Option_t *option="")
Recompute canvas parameters following a X11 Resize.
virtual void HandleInput(EEventType button, Int_t x, Int_t y)
Handle Input Events.
Int_t GetCanvasID() const override
void Update() override
Update canvas pad buffers.
void Flush()
Flush canvas buffers.
Drag and drop data container.
Atom_t fDataType
Data type description.
Int_t fDataLength
Length of data.
A frame containing two scrollbars (a horizontal and a vertical) and a viewport.
virtual void SetContainer(TGFrame *f)
virtual void MapSubwindows()
Map all canvas sub windows.
TGViewPort * GetViewPort() const
The base class for composite widgets (menu bars, list boxes, etc.).
void AddInput(UInt_t emask)
Add events specified in the emask to the events the frame should handle.
virtual Bool_t HandleConfigureNotify(Event_t *event)
This event is generated when the frame is resized.
UInt_t fHeight
frame height
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
virtual UInt_t GetOptions() const
TString GetOptionString() const
Returns a frame option string - used in SavePrimitive().
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
void SetDNDTarget(Bool_t onoff)
void SaveUserColor(std::ostream &out, Option_t *)
Save a user color in a C++ macro file - used in SavePrimitive().
Pixel_t fBackground
frame background color
Handle_t fId
X11/Win32 Window identifier.
ROOT GUI Window base class.
virtual const char * GetName() const
Return unique name, used in SavePrimitive methods.
const TGWindow * fParent
Parent window.
virtual Int_t MustCleanup() const
@ kEditDisableLayout
window layout cannot be edited
@ kEditDisableGrab
window grab cannot be edited
UInt_t fEditDisabled
flags used for "guibuilding"
An abstract interface to image processing library.
virtual void SetEditable(Bool_t=kTRUE)
static TImage * Open(const char *file, EImageFileTypes type=kUnknown)
Open a specified image file.
Mother of all ROOT objects.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
The most important graphics class in the ROOT system.
void Update() override
Update pad.
TVirtualPad * cd(Int_t subpadnumber=0) override
Set Current pad.
void SetBorderMode(Short_t bordermode) override
Longptr_t ExecPlugin(int nargs, const T &... params)
Int_t LoadPlugin()
Load the plugin library for this handler.
This class creates a TGCanvas in which a TCanvas is created.
virtual Atom_t HandleDNDEnter(Atom_t *typelist)
Handle drag enter events.
Bool_t fAutoFit
canvas container keeps same size as canvas
virtual ~TRootEmbeddedCanvas()
Delete embedded ROOT canvas.
virtual Bool_t HandleContainerCrossing(Event_t *ev)
Handle enter/leave events. Only leave is activated at the moment.
virtual Atom_t HandleDNDPosition(Int_t, Int_t, Atom_t action, Int_t, Int_t)
Handle dragging position events.
virtual Bool_t HandleContainerConfigure(Event_t *ev)
Handle configure (i.e. resize) event.
Int_t fCWinId
window id used by embedded TCanvas
TCanvas * fCanvas
pointer to TCanvas
virtual Bool_t HandleDNDLeave()
Handle drag leave events.
void AdoptCanvas(TCanvas *c)
Canvas c is adopted from this embedded canvas.
virtual Bool_t HandleContainerButton(Event_t *ev)
Handle mouse button events in the canvas container.
virtual Bool_t HandleContainerDoubleClick(Event_t *ev)
Handle mouse button double click events in the canvas container.
virtual Bool_t HandleDNDDrop(TDNDData *data)
Handle drop events.
TRootEmbeddedCanvas(const TRootEmbeddedCanvas &)=delete
TCanvas * GetCanvas() const
virtual Bool_t HandleContainerMotion(Event_t *ev)
Handle mouse motion event in the canvas container.
Int_t fButton
currently pressed button
friend class TRootEmbeddedContainer
virtual Bool_t HandleContainerKey(Event_t *ev)
Handle keyboard events in the canvas container.
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save an embedded canvas as a C++ statement(s) on output stream out.
Atom_t * fDNDTypeList
handles DND types
TRootEmbeddedContainer * fCanvasContainer
container in canvas widget
virtual Bool_t HandleContainerExpose(Event_t *ev)
Handle expose events.
Utility class used by TRootEmbeddedCanvas.
Bool_t HandleButton(Event_t *ev)
TRootEmbeddedCanvas * fCanvas
Bool_t HandleMotion(Event_t *ev)
void SetEditable(Bool_t)
Switch ON/OFF edit mode.
Bool_t HandleExpose(Event_t *ev)
Bool_t HandleDoubleClick(Event_t *ev)
Bool_t HandleConfigureNotify(Event_t *ev)
This event is generated when the frame is resized.
Bool_t HandleCrossing(Event_t *ev)
Bool_t HandleKey(Event_t *ev)
TRootEmbeddedContainer(TRootEmbeddedCanvas *c, Window_t id, const TGWindow *parent)
Create a canvas container.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Bool_t GetCanvasPreferGL() const
void SetCanvasPreferGL(Bool_t prefer=kTRUE)
This class represents a WWW compatible URL.
const char * GetFile() const