Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TVirtualX.cxx
Go to the documentation of this file.
1// @(#)root/base:$Id$
2// Author: Fons Rademakers 3/12/95
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12/**
13\defgroup GraphicsBackends Graphics' Backends
14\ingroup Graphics
15Graphics' Backends interface classes.
16Graphics classes interfacing ROOT graphics with the low level
17native graphics backends(s) like X11, Cocoa, Win32 etc...
18These classes are not meant to be used directly by ROOT users.
19*/
20
21/** \class TVirtualX
22\ingroup GraphicsBackends
23\ingroup Base
24Semi-Abstract base class defining a generic interface to the underlying, low
25level, native graphics backend (X11, Win32, MacOS, OpenGL...).
26An instance of TVirtualX itself defines a batch interface to the graphics system.
27*/
28
29#include "TVirtualX.h"
30#include "TString.h"
31#include "TPoint.h"
32
33
37
38
39TVirtualX *gGXBatch; //Global pointer to batch graphics interface
40TVirtualX* (*gPtr2VirtualX)() = nullptr; // returns pointer to global object
41
42
43
44
45////////////////////////////////////////////////////////////////////////////////
46/// Ctor of ABC
47
48TVirtualX::TVirtualX(const char *name, const char *title) : TNamed(name, title),
49 TAttLine(1,1,1),TAttFill(1,1),TAttText(11,0,1,62,0.01), TAttMarker(1,1,1),
50 fDrawMode()
51{
52}
53
54////////////////////////////////////////////////////////////////////////////////
55/// Returns gVirtualX global
56
58{
59 static TVirtualX *instance = nullptr;
61 return instance;
62}
63
64////////////////////////////////////////////////////////////////////////////////
65/// The WindowAttributes_t structure is set to default.
66
68{
69 attr.fX = attr.fY = 0;
70 attr.fWidth = attr.fHeight = 0;
71 attr.fVisual = nullptr;
72 attr.fMapState = kIsUnmapped;
73 attr.fScreen = nullptr;
74}
75
76////////////////////////////////////////////////////////////////////////////////
77/// Looks up the string name of a color "cname" with respect to the screen
78/// associated with the specified colormap. It returns the exact color value.
79/// If the color name is not in the Host Portable Character Encoding,
80/// the result is implementation dependent.
81///
82/// \param [in] cmap the colormap
83/// \param [in] cname the color name string; use of uppercase or lowercase
84/// does not matter
85/// \param [in] color returns the exact color value for later use
86///
87/// The ColorStruct_t structure is set to default. Let system think we
88/// could parse color.
89
90Bool_t TVirtualX::ParseColor(Colormap_t /*cmap*/, const char * /*cname*/,
91 ColorStruct_t &color)
92{
93 color.fPixel = 0;
94 color.fRed = 0;
95 color.fGreen = 0;
96 color.fBlue = 0;
97 color.fMask = kDoRed | kDoGreen | kDoBlue;
98
99 return kTRUE;
100}
101
102////////////////////////////////////////////////////////////////////////////////
103/// Allocates a read-only colormap entry corresponding to the closest RGB
104/// value supported by the hardware. If no cell could be allocated it
105/// returns kFALSE, otherwise kTRUE.
106///
107/// The pixel value is set to default. Let system think we could allocate
108/// color.
109///
110/// \param [in] cmap the colormap
111/// \param [in] color specifies and returns the values actually used in the cmap
112
114{
115 color.fPixel = 0;
116 return kTRUE;
117}
118
119////////////////////////////////////////////////////////////////////////////////
120/// Returns the current RGB value for the pixel in the "color" structure
121///
122/// The color components are set to default.
123///
124/// \param [in] cmap the colormap
125/// \param [in] color specifies and returns the RGB values for the pixel specified
126/// in the structure
127
129{
130 color.fRed = color.fGreen = color.fBlue = 0;
131}
132
133////////////////////////////////////////////////////////////////////////////////
134/// The "event" is set to default event.
135/// This method however, should never be called.
136
138{
139 event.fType = kButtonPress;
140 event.fWindow = 0;
141 event.fTime = 0;
142 event.fX = 0;
143 event.fY = 0;
144 event.fXRoot = 0;
145 event.fYRoot = 0;
146 event.fState = 0;
147 event.fCode = 0;
148 event.fWidth = 0;
149 event.fHeight = 0;
150 event.fCount = 0;
151}
152
153////////////////////////////////////////////////////////////////////////////////
154/// Gets contents of the paste buffer "atom" into the string "text".
155/// (nchar = number of characters) If "del" is true deletes the paste
156/// buffer afterwards.
157
159 Int_t &nchar, Bool_t /*del*/)
160{
161 text = "";
162 nchar = 0;
163}
164
165////////////////////////////////////////////////////////////////////////////////
166/// Initializes the X system. Returns kFALSE in case of failure.
167/// It is implementation dependent.
168
169Bool_t TVirtualX::Init(void * /*display*/)
170{
171 return kFALSE;
172}
173
174////////////////////////////////////////////////////////////////////////////////
175/// Clears the entire area of the current window.
176
178{
179}
180
181////////////////////////////////////////////////////////////////////////////////
182/// Deletes current window.
183
185{
186}
187
188////////////////////////////////////////////////////////////////////////////////
189/// Deletes current pixmap.
190
192{
193}
194
195////////////////////////////////////////////////////////////////////////////////
196/// Copies the pixmap "wid" at the position [xpos,ypos] in the current window.
197
198void TVirtualX::CopyPixmap(Int_t /*wid*/, Int_t /*xpos*/, Int_t /*ypos*/)
199{
200}
201
202////////////////////////////////////////////////////////////////////////////////
203///On a HiDPI resolution it can be > 1., this means glViewport should use
204///scaled width and height.
205
210
211////////////////////////////////////////////////////////////////////////////////
212/// Creates OpenGL context for window "wid"
213
215{
216}
217
218////////////////////////////////////////////////////////////////////////////////
219/// Deletes OpenGL context for window "wid"
220
222{
223}
224
225////////////////////////////////////////////////////////////////////////////////
226///Create window with special pixel format. Noop everywhere except Cocoa.
227
228Window_t TVirtualX::CreateOpenGLWindow(Window_t /*parentID*/, UInt_t /*width*/, UInt_t /*height*/, const std::vector<std::pair<UInt_t, Int_t> > &/*format*/)
229{
230 return Window_t();
231}
232
233////////////////////////////////////////////////////////////////////////////////
234/// Creates OpenGL context for window "windowID".
235
237{
238 return Handle_t();
239}
240
241////////////////////////////////////////////////////////////////////////////////
242/// Makes context ctx current OpenGL context.
243
245{
246 return kFALSE;
247}
248
249////////////////////////////////////////////////////////////////////////////////
250/// Asks OpenGL subsystem about the current OpenGL context.
251
256
257////////////////////////////////////////////////////////////////////////////////
258/// Flushes OpenGL buffer.
259
263
264////////////////////////////////////////////////////////////////////////////////
265/// Draws a box between [x1,y1] and [x2,y2] according to the "mode".
266///
267/// \param [in] x1,y1 left down corner
268/// \param [in] x2,y2 right up corner
269/// \param [in] mode drawing mode:
270/// - mode = 0 hollow (kHollow)
271/// - mode = 1 solid (kSolid)
272
273void TVirtualX::DrawBox(Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/,
274 EBoxMode /*mode*/)
275{
276}
277
278////////////////////////////////////////////////////////////////////////////////
279/// Draws a cell array. The drawing is done with the pixel precision
280/// if (x2-x1)/nx (or y) is not a exact pixel number the position of
281/// the top right corner may be wrong.
282///
283/// \param [in] x1,y1 left down corner
284/// \param [in] x2,y2 right up corner
285/// \param [in] nx,ny array size
286/// \param [in] ic array
287
289 Int_t /*x2*/, Int_t /*y2*/,
290 Int_t /*nx*/, Int_t /*ny*/, Int_t * /*ic*/)
291{
292}
293
294////////////////////////////////////////////////////////////////////////////////
295/// Fills area described by the polygon.
296///
297/// \param [in] n number of points
298/// \param [in] xy list of points. xy(2,n)
299
301{
302}
303
304////////////////////////////////////////////////////////////////////////////////
305/// Draws a line.
306///
307/// \param [in] x1,y1 begin of line
308/// \param [in] x2,y2 end of line
309
310void TVirtualX::DrawLine(Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/)
311{
312}
313
314////////////////////////////////////////////////////////////////////////////////
315/// Draws a line through all points in the list.
316///
317/// \param [in] n number of points
318/// \param [in] xy list of points
319
321{
322}
323
324////////////////////////////////////////////////////////////////////////////////
325/// Draws N segments between provided points
326///
327/// \param [in] n number of segemtns
328/// \param [in] xy list of points, size 2*n
329
331{
332 for(Int_t i = 0; i < 2*n; i += 2)
333 DrawPolyLine(2, &xy[i]);
334}
335
336
337////////////////////////////////////////////////////////////////////////////////
338/// Draws "n" markers with the current attributes at position [x,y].
339///
340/// \param [in] n number of markers to draw
341/// \param [in] xy an array of x,y marker coordinates
342
344{
345}
346
347////////////////////////////////////////////////////////////////////////////////
348/// Draws a text string using current font.
349///
350/// \param [in] x,y text position
351/// \param [in] angle text angle
352/// \param [in] mgn magnification factor
353/// \param [in] text text string
354/// \param [in] mode drawing mode:
355/// - mode = 0 the background is not drawn (kClear)
356/// - mode = 1 the background is drawn (kOpaque)
357
358void TVirtualX::DrawText(Int_t /*x*/, Int_t /*y*/, Float_t /*angle*/,
359 Float_t /*mgn*/, const char * /*text*/,
360 ETextMode /*mode*/)
361{
362}
363
364////////////////////////////////////////////////////////////////////////////////
365/// Draws a text string using current font.
366///
367/// \param [in] x,y text position
368/// \param [in] angle text angle
369/// \param [in] mgn magnification factor
370/// \param [in] text text string
371/// \param [in] mode drawing mode:
372/// - mode = 0 the background is not drawn (kClear)
373/// - mode = 1 the background is drawn (kOpaque)
374
375void TVirtualX::DrawText(Int_t /*x*/, Int_t /*y*/, Float_t /*angle*/,
376 Float_t /*mgn*/, const wchar_t * /*text*/,
377 ETextMode /*mode*/)
378{
379}
380
381////////////////////////////////////////////////////////////////////////////////
382/// Get window drawing context
383/// Should remain valid until window exists
384
386{
387 return (WinContext_t) 0;
388}
389
390////////////////////////////////////////////////////////////////////////////////
391/// Set fill attributes for specified window
392
394{
395 SetFillColor(att.GetFillColor());
396 SetFillStyle(att.GetFillStyle());
397}
398
399////////////////////////////////////////////////////////////////////////////////
400/// Set line attributes for specified window
401
403{
404 SetLineColor(att.GetLineColor());
405 SetLineStyle(att.GetLineStyle());
406 SetLineWidth(att.GetLineWidth());
407}
408
409////////////////////////////////////////////////////////////////////////////////
410/// Set marker attributes for specified window
411
413{
414 SetMarkerColor(att.GetMarkerColor());
415 SetMarkerSize(att.GetMarkerSize());
416 SetMarkerStyle(att.GetMarkerStyle());
417}
418
419////////////////////////////////////////////////////////////////////////////////
420/// Set text attributes for specified window
421
423{
424 SetTextAlign(att.GetTextAlign());
425 SetTextAngle(att.GetTextAngle());
426 SetTextColor(att.GetTextColor());
427 SetTextSize(att.GetTextSize());
428 SetTextFont(att.GetTextFont());
429}
430
431////////////////////////////////////////////////////////////////////////////////
432/// Set window draw mode
433
438
439////////////////////////////////////////////////////////////////////////////////
440/// Returns window draw mode
441
446
447////////////////////////////////////////////////////////////////////////////////
448/// Clear specified window
449
451{
452 ClearWindow();
453}
454
455////////////////////////////////////////////////////////////////////////////////
456/// Update specified window
457
462
463////////////////////////////////////////////////////////////////////////////////
464/// Set opactity for specified window
465
470
471////////////////////////////////////////////////////////////////////////////////
472/// Copy pixmap to specified window
473
478
479////////////////////////////////////////////////////////////////////////////////
480/// Draw box on specified window
481
486
487////////////////////////////////////////////////////////////////////////////////
488/// Draw fill area on specified window
489
491{
492 DrawFillArea(n, xy);
493}
494
495////////////////////////////////////////////////////////////////////////////////
496/// Draw line on specified window
497
499{
500 DrawLine(x1, y1, x2, y2);
501}
502
503////////////////////////////////////////////////////////////////////////////////
504/// Draw poly line on specified window
505
507{
508 DrawPolyLine(n, xy);
509}
510
511////////////////////////////////////////////////////////////////////////////////
512/// Draw line segments on specified window
513
518
519////////////////////////////////////////////////////////////////////////////////
520/// Draw poly marker on specified window
521
526
527////////////////////////////////////////////////////////////////////////////////
528/// Draw text on specified window
529
531{
532 DrawText(x, y, angle, mgn, text, mode);
533}
534
535////////////////////////////////////////////////////////////////////////////////
536/// Draw wtext on specified window
537
539{
540 DrawText(x, y, angle, mgn, text, mode);
541}
542
543////////////////////////////////////////////////////////////////////////////////
544/// Draw TTFglyphs on specified window
545/// Will be invoked only if HasTTFonts method returns true
546
547void TVirtualX::DrawTTFglyphsW(WinContext_t /* wctxt */, Int_t /* x */, Int_t /* y */, TTFhandle &/* handle */, ETextMode /* mode */)
548{
549}
550
551
552////////////////////////////////////////////////////////////////////////////////
553/// Save specified window as GIF image
554
556{
557 return WriteGIF((char *) name);
558}
559
560////////////////////////////////////////////////////////////////////////////////
561/// Executes the command "code" coming from the other threads (Win32)
562
564{
565 return 0;
566}
567
568////////////////////////////////////////////////////////////////////////////////
569/// Queries the double buffer value for the window "wid".
570
572{
573 return 0;
574}
575
576////////////////////////////////////////////////////////////////////////////////
577/// Returns character up vector.
578
583
584////////////////////////////////////////////////////////////////////////////////
585/// Returns position and size of window "wid".
586///
587/// \param [in] wid window identifier
588/// if wid < 0 the size of the display is returned
589/// \param [in] x, y returned window position
590/// \param [in] w, h returned window size
591
593 UInt_t &w, UInt_t &h)
594{
595 x = y = 0;
596 w = h = 0;
597}
598
599////////////////////////////////////////////////////////////////////////////////
600/// Returns hostname on which the display is opened.
601
602const char *TVirtualX::DisplayName(const char *)
603{
604 return "batch";
605}
606
607////////////////////////////////////////////////////////////////////////////////
608/// Returns the current native event handle.
609
611{
612 return 0;
613}
614
615////////////////////////////////////////////////////////////////////////////////
616/// Returns pixel value associated to specified ROOT color number "cindex".
617
619{
620 return 0;
621}
622
623////////////////////////////////////////////////////////////////////////////////
624/// Returns the maximum number of planes.
625
627{
628 nplanes = 0;
629}
630
631////////////////////////////////////////////////////////////////////////////////
632/// Returns RGB values for color "index".
633
635{
636 r = g = b = 0;
637}
638
639////////////////////////////////////////////////////////////////////////////////
640/// Returns the size of the specified character string "mess".
641///
642/// \param [in] w the text width
643/// \param [in] h the text height
644/// \param [in] mess the string
645
646void TVirtualX::GetTextExtent(UInt_t &w, UInt_t &h, char * /*mess*/)
647{
648 w = h = 0;
649}
650
651////////////////////////////////////////////////////////////////////////////////
652/// Returns the size of the specified character string "mess".
653///
654/// \param [in] w the text width
655/// \param [in] h the text height
656/// \param [in] mess the string
657
658void TVirtualX::GetTextExtent(UInt_t &w, UInt_t &h, wchar_t * /*mess*/)
659{
660 w = h = 0;
661}
662
663////////////////////////////////////////////////////////////////////////////////
664/// Returns the size of the specified character string "mess" for font and size.
665
667{
668 w = h = 0;
669 return kFALSE;
670}
671
672////////////////////////////////////////////////////////////////////////////////
673/// Returns the size of the specified character string "mess" for font and size.
674
676{
677 w = h = 0;
678 return kFALSE;
679}
680
681////////////////////////////////////////////////////////////////////////////////
682/// Returns ascent/descent for specified character string "mess" with font and size.
683
684
686{
687 a = d = 0;
688 return kFALSE;
689}
690
691////////////////////////////////////////////////////////////////////////////////
692/// Returns the ascent of the current font (in pixels).
693/// The ascent of a font is the distance from the baseline
694/// to the highest position characters extend to
695
697{
698 return 0;
699}
700
701////////////////////////////////////////////////////////////////////////////////
702/// Default version is noop, but in principle what
703/// ROOT understands as ascent is text related.
704
705Int_t TVirtualX::GetFontAscent(const char * /*mess*/) const
706{
707 return GetFontAscent();
708}
709
710////////////////////////////////////////////////////////////////////////////////
711/// Returns the descent of the current font (in pixels.
712/// The descent is the distance from the base line
713/// to the lowest point characters extend to.
714
716{
717 return 0;
718}
719
720////////////////////////////////////////////////////////////////////////////////
721/// Default version is noop, but in principle what
722/// ROOT understands as descent requires a certain text.
723
724Int_t TVirtualX::GetFontDescent(const char * /*mess*/) const
725{
726 return GetFontDescent();
727}
728
729////////////////////////////////////////////////////////////////////////////////
730/// Returns the current font magnification factor
731
733{
734 return 0;
735}
736
737////////////////////////////////////////////////////////////////////////////////
738/// Returns True when TrueType fonts are used
739
741{
742 return kFALSE;
743}
744
745////////////////////////////////////////////////////////////////////////////////
746/// Returns the X11 window identifier.
747///
748/// \param [in] wid workstation identifier (input)
749
751{
752 return 0;
753}
754
755////////////////////////////////////////////////////////////////////////////////
756/// Creates a new window and return window number.
757/// Returns -1 if window initialization fails.
758
760{
761 return 0;
762}
763
764////////////////////////////////////////////////////////////////////////////////
765/// Registers a window created by Qt as a ROOT window
766///
767/// \param [in] qwid window identifier
768/// \param [in] w, h the width and height, which define the window size
769
771{
772 return 0;
773}
774
775////////////////////////////////////////////////////////////////////////////////
776/// Registers a pixmap created by TGLManager as a ROOT pixmap
777///
778/// \param [in] pixid pixmap identifier
779/// \param [in] w, h the width and height, which define the pixmap size
780
782{
783 return 0;
784}
785
786
787////////////////////////////////////////////////////////////////////////////////
788/// Removes the created by Qt window "qwid".
789
791{
792}
793
794////////////////////////////////////////////////////////////////////////////////
795/// Moves the window "wid" to the specified x and y coordinates.
796/// It does not change the window's size, raise the window, or change
797/// the mapping state of the window.
798///
799/// \param [in] wid window identifier
800/// \param [in] x, y coordinates, which define the new position of the window
801/// relative to its parent.
802
803void TVirtualX::MoveWindow(Int_t /*wid*/, Int_t /*x*/, Int_t /*y*/)
804{
805}
806
807////////////////////////////////////////////////////////////////////////////////
808/// Creates a pixmap of the width "w" and height "h" you specified.
809
811{
812 return 0;
813}
814
815////////////////////////////////////////////////////////////////////////////////
816/// Returns the pointer position.
817
819{
820 ix = iy = 0;
821}
822
823////////////////////////////////////////////////////////////////////////////////
824/// If id is NULL - loads the specified gif file at position [x0,y0] in the
825/// current window. Otherwise creates pixmap from gif file
826
827Pixmap_t TVirtualX::ReadGIF(Int_t /*x0*/, Int_t /*y0*/, const char * /*file*/,
828 Window_t /*id*/)
829{
830 return 0;
831}
832
833////////////////////////////////////////////////////////////////////////////////
834/// Requests Locator position.
835///
836/// \param [in] x,y cursor position at moment of button press (output)
837/// \param [in] ctyp cursor type (input)
838/// - ctyp = 1 tracking cross
839/// - ctyp = 2 cross-hair
840/// - ctyp = 3 rubber circle
841/// - ctyp = 4 rubber band
842/// - ctyp = 5 rubber rectangle
843///
844/// \param [in] mode input mode
845/// - mode = 0 request
846/// - mode = 1 sample
847///
848/// \return
849/// - in request mode:
850/// - 1 = left is pressed
851/// - 2 = middle is pressed
852/// - 3 = right is pressed
853/// - in sample mode:
854/// - 11 = left is released
855/// - 12 = middle is released
856/// - 13 = right is released
857/// - -1 = nothing is pressed or released
858/// - -2 = leave the window
859/// - else = keycode (keyboard is pressed)
860
862 Int_t &x, Int_t &y)
863{
864 x = y = 0;
865 return 0;
866}
867
868////////////////////////////////////////////////////////////////////////////////
869/// Requests string: text is displayed and can be edited with Emacs-like
870/// keybinding. Returns termination code (0 for ESC, 1 for RETURN)
871///
872/// \param [in] x,y position where text is displayed
873/// \param [in] text displayed text (as input), edited text (as output)
874
876{
877 if (text) *text = 0;
878 return 0;
879}
880
881////////////////////////////////////////////////////////////////////////////////
882/// Rescales the window "wid".
883///
884/// \param [in] wid window identifier
885/// \param [in] w the width
886/// \param [in] h the height
887
888void TVirtualX::RescaleWindow(Int_t /*wid*/, UInt_t /*w*/, UInt_t /*h*/)
889{
890}
891
892////////////////////////////////////////////////////////////////////////////////
893/// Resizes the specified pixmap "wid".
894///
895/// \param [in] wid window identifier
896/// \param [in] w, h the width and height which define the pixmap dimensions
897
899{
900 return 0;
901}
902
903////////////////////////////////////////////////////////////////////////////////
904/// Resizes the window "wid" if necessary.
905
907{
908}
909
910////////////////////////////////////////////////////////////////////////////////
911/// Selects the window "wid" to which subsequent output is directed.
912
914{
915}
916
917////////////////////////////////////////////////////////////////////////////////
918/// Selects the pixmap "qpixid".
919
921{
922}
923
924////////////////////////////////////////////////////////////////////////////////
925/// Sets character up vector.
926
927void TVirtualX::SetCharacterUp(Float_t /*chupx*/, Float_t /*chupy*/)
928{
929}
930
931////////////////////////////////////////////////////////////////////////////////
932/// Turns off the clipping for the window "wid".
933
935{
936}
937
938////////////////////////////////////////////////////////////////////////////////
939/// Sets clipping region for the window "wid".
940///
941/// \param [in] wid window identifier
942/// \param [in] x, y origin of clipping rectangle
943/// \param [in] w, h the clipping rectangle dimensions
944
945void TVirtualX::SetClipRegion(Int_t /*wid*/, Int_t /*x*/, Int_t /*y*/,
946 UInt_t /*w*/, UInt_t /*h*/)
947{
948}
949
950////////////////////////////////////////////////////////////////////////////////
951/// The cursor "cursor" will be used when the pointer is in the
952/// window "wid".
953
954void TVirtualX::SetCursor(Int_t /*win*/, ECursor /*cursor*/)
955{
956}
957
958////////////////////////////////////////////////////////////////////////////////
959/// Sets the double buffer on/off on the window "wid".
960///
961/// \param [in] wid window identifier.
962/// - 999 means all opened windows.
963/// \param [in] mode the on/off switch
964/// - mode = 1 double buffer is on
965/// - mode = 0 double buffer is off
966
968{
969}
970
971////////////////////////////////////////////////////////////////////////////////
972/// Turns double buffer mode off.
973
977
978////////////////////////////////////////////////////////////////////////////////
979/// Turns double buffer mode on.
980
984
985////////////////////////////////////////////////////////////////////////////////
986/// Sets the drawing mode.
987///
988/// \param [in] mode drawing mode.
989/// - mode = 1 copy
990/// - mode = 2 xor
991/// - mode = 3 invert
992/// - mode = 4 set the suitable mode for cursor echo according to the vendor
993
995{
996}
997
998////////////////////////////////////////////////////////////////////////////////
999/// Sets color index "cindex" for fill areas.
1000
1002{
1003}
1004
1005////////////////////////////////////////////////////////////////////////////////
1006/// Sets fill area style.
1007///
1008/// \param [in] style compound fill area interior style
1009/// - style = 1000 * interiorstyle + styleindex
1010
1012{
1013}
1014
1015////////////////////////////////////////////////////////////////////////////////
1016/// Sets color index "cindex" for drawing lines.
1017
1019{
1020}
1021
1022////////////////////////////////////////////////////////////////////////////////
1023/// Sets the line type.
1024///
1025/// \param [in] n length of the dash list
1026/// - n <= 0 use solid lines
1027/// - n > 0 use dashed lines described by dash(n)
1028/// e.g. n = 4,dash = (6,3,1,3) gives a dashed-dotted line
1029/// with dash length 6 and a gap of 7 between dashes
1030/// \param [in] dash dash segment lengths
1031
1032void TVirtualX::SetLineType(Int_t /*n*/, Int_t * /*dash*/)
1033{
1034}
1035
1036////////////////////////////////////////////////////////////////////////////////
1037/// Sets the line style.
1038///
1039/// \param [in] linestyle line style.
1040/// - linestyle <= 1 solid
1041/// - linestyle = 2 dashed
1042/// - linestyle = 3 dotted
1043/// - linestyle = 4 dashed-dotted
1044
1046{
1047}
1048
1049////////////////////////////////////////////////////////////////////////////////
1050/// Sets the line width.
1051///
1052/// \param [in] width the line width in pixels
1053
1055{
1056}
1057
1058////////////////////////////////////////////////////////////////////////////////
1059/// Sets color index "cindex" for markers.
1060
1062{
1063}
1064
1065////////////////////////////////////////////////////////////////////////////////
1066/// Sets marker size index.
1067///
1068/// \param [in] markersize the marker scale factor
1069
1071{
1072}
1073
1074////////////////////////////////////////////////////////////////////////////////
1075/// Sets marker style.
1076
1078{
1079}
1080
1081////////////////////////////////////////////////////////////////////////////////
1082/// Sets opacity of the current window. This image manipulation routine
1083/// works by adding to a percent amount of neutral to each pixels RGB.
1084/// Since it requires quite some additional color map entries is it
1085/// only supported on displays with more than > 8 color planes (> 256
1086/// colors).
1087
1089{
1090}
1091
1092////////////////////////////////////////////////////////////////////////////////
1093/// Sets color intensities the specified color index "cindex".
1094///
1095/// \param [in] cindex color index
1096/// \param [in] r, g, b the red, green, blue intensities between 0.0 and 1.0
1097
1098void TVirtualX::SetRGB(Int_t /*cindex*/, Float_t /*r*/, Float_t /*g*/,
1099 Float_t /*b*/)
1100{
1101}
1102
1103////////////////////////////////////////////////////////////////////////////////
1104/// Sets the text alignment.
1105///
1106/// \param [in] talign text alignment.
1107/// - talign = txalh horizontal text alignment
1108/// - talign = txalv vertical text alignment
1109
1111{
1112}
1113
1114////////////////////////////////////////////////////////////////////////////////
1115/// Sets the color index "cindex" for text.
1116
1118{
1119}
1120
1121////////////////////////////////////////////////////////////////////////////////
1122/// Sets text font to specified name "fontname".This function returns 0 if
1123/// the specified font is found, 1 if it is not.
1124///
1125/// \param [in] fontname font name
1126/// \param [in] mode loading flag
1127/// - mode = 0 search if the font exist (kCheck)
1128/// - mode = 1 search the font and load it if it exists (kLoad)
1129
1130Int_t TVirtualX::SetTextFont(char * /*fontname*/, ETextSetMode /*mode*/)
1131{
1132 return 0;
1133}
1134
1135////////////////////////////////////////////////////////////////////////////////
1136/// Sets the current text font number.
1137
1138void TVirtualX::SetTextFont(Font_t /*fontnumber*/)
1139{
1140}
1141
1142////////////////////////////////////////////////////////////////////////////////
1143/// Sets the current text magnification factor to "mgn"
1144
1146{
1147}
1148
1149////////////////////////////////////////////////////////////////////////////////
1150/// Sets the current text size to "textsize"
1151
1153{
1154}
1155
1156////////////////////////////////////////////////////////////////////////////////
1157/// Set synchronisation on or off.
1158///
1159/// \param [in] mode synchronisation on/off
1160/// - mode=1 on
1161/// - mode<>0 off
1162
1164{
1165}
1166
1167////////////////////////////////////////////////////////////////////////////////
1168/// Updates or synchronises client and server once (not permanent).
1169/// according to "mode".
1170///
1171/// \param [in] mode update mode.
1172/// - mode = 1 update
1173/// - mode = 0 sync
1174
1176{
1177}
1178
1179////////////////////////////////////////////////////////////////////////////////
1180/// Sets the pointer position.
1181///
1182/// \param [in] ix new X coordinate of pointer
1183/// \param [in] iy new Y coordinate of pointer
1184/// \param [in] id window identifier
1185///
1186/// Coordinates are relative to the origin of the window id
1187/// or to the origin of the current window if id == 0.
1188
1189void TVirtualX::Warp(Int_t /*ix*/, Int_t /*iy*/, Window_t /*id*/)
1190{
1191}
1192
1193////////////////////////////////////////////////////////////////////////////////
1194/// Writes the current window into GIF file.
1195/// Returns 1 in case of success, 0 otherwise.
1196
1198{
1199 return 0;
1200}
1201
1202////////////////////////////////////////////////////////////////////////////////
1203/// Writes the pixmap "wid" in the bitmap file "pxname".
1204///
1205/// \param [in] wid the pixmap address
1206/// \param [in] w, h the width and height of the pixmap.
1207/// \param [in] pxname the file name
1208
1209void TVirtualX::WritePixmap(Int_t /*wid*/, UInt_t /*w*/, UInt_t /*h*/,
1210 char * /*pxname*/)
1211{
1212}
1213
1214
1215//---- Methods used for GUI -----
1216////////////////////////////////////////////////////////////////////////////////
1217/// Maps the window "id" and all of its subwindows that have had map
1218/// requests. This function has no effect if the window is already mapped.
1219
1221{
1222}
1223
1224////////////////////////////////////////////////////////////////////////////////
1225/// Maps all subwindows for the specified window "id" in top-to-bottom
1226/// stacking order.
1227
1229{
1230}
1231
1232////////////////////////////////////////////////////////////////////////////////
1233/// Maps the window "id" and all of its subwindows that have had map
1234/// requests on the screen and put this window on the top of of the
1235/// stack of all windows.
1236
1238{
1239}
1240
1241////////////////////////////////////////////////////////////////////////////////
1242/// Unmaps the specified window "id". If the specified window is already
1243/// unmapped, this function has no effect. Any child window will no longer
1244/// be visible (but they are still mapped) until another map call is made
1245/// on the parent.
1246
1248{
1249}
1250
1251////////////////////////////////////////////////////////////////////////////////
1252/// Destroys the window "id" as well as all of its subwindows.
1253/// The window should never be referenced again. If the window specified
1254/// by the "id" argument is mapped, it is unmapped automatically.
1255
1257{
1258}
1259
1260////////////////////////////////////////////////////////////////////////////////
1261/// The DestroySubwindows function destroys all inferior windows of the
1262/// specified window, in bottom-to-top stacking order.
1263
1267
1268////////////////////////////////////////////////////////////////////////////////
1269/// Raises the specified window to the top of the stack so that no
1270/// sibling window obscures it.
1271
1273{
1274}
1275
1276////////////////////////////////////////////////////////////////////////////////
1277/// Lowers the specified window "id" to the bottom of the stack so
1278/// that it does not obscure any sibling windows.
1279
1281{
1282}
1283
1284////////////////////////////////////////////////////////////////////////////////
1285/// Moves the specified window to the specified x and y coordinates.
1286/// It does not change the window's size, raise the window, or change
1287/// the mapping state of the window.
1288///
1289/// \param [in] id window identifier
1290/// \param [in] x, y coordinates, which define the new position of the window
1291/// relative to its parent.
1292
1293void TVirtualX::MoveWindow(Window_t /*id*/, Int_t /*x*/, Int_t /*y*/)
1294{
1295}
1296
1297////////////////////////////////////////////////////////////////////////////////
1298/// Changes the size and location of the specified window "id" without
1299/// raising it.
1300///
1301/// \param [in] id window identifier
1302/// \param [in] x, y coordinates, which define the new position of the window
1303/// relative to its parent.
1304/// \param [in] w, h the width and height, which define the interior size of
1305/// the window
1306
1308 UInt_t /*w*/, UInt_t /*h*/)
1309{
1310}
1311
1312////////////////////////////////////////////////////////////////////////////////
1313/// Changes the width and height of the specified window "id", not
1314/// including its borders. This function does not change the window's
1315/// upper-left coordinate.
1316///
1317/// \param [in] id window identifier
1318/// \param [in] w, h the width and height, which are the interior dimensions of
1319/// the window after the call completes.
1320
1322{
1323}
1324
1325////////////////////////////////////////////////////////////////////////////////
1326/// Iconifies the window "id".
1327
1329{
1330}
1331////////////////////////////////////////////////////////////////////////////////
1332/// Notify the low level GUI layer ROOT requires "tgwindow" to be
1333/// updated
1334///
1335/// Returns kTRUE if the notification was desirable and it was sent
1336///
1337/// At the moment only Qt4 layer needs that
1338///
1339/// One needs explicitly cast the first parameter to TGWindow to make
1340/// it working in the implementation.
1341///
1342/// One needs to process the notification to confine
1343/// all paint operations within "expose" / "paint" like low level event
1344/// or equivalent
1345
1347{
1348 return kFALSE;
1349}
1350
1351////////////////////////////////////////////////////////////////////////////////
1352/// If the specified window is mapped, ReparentWindow automatically
1353/// performs an UnmapWindow request on it, removes it from its current
1354/// position in the hierarchy, and inserts it as the child of the specified
1355/// parent. The window is placed in the stacking order on top with respect
1356/// to sibling windows.
1357
1359 Int_t /*x*/, Int_t /*y*/)
1360{
1361}
1362
1363////////////////////////////////////////////////////////////////////////////////
1364/// Sets the background of the window "id" to the specified color value
1365/// "color". Changing the background does not cause the window contents
1366/// to be changed.
1367
1369{
1370}
1371
1372////////////////////////////////////////////////////////////////////////////////
1373/// Sets the background pixmap of the window "id" to the specified
1374/// pixmap "pxm".
1375
1379
1380////////////////////////////////////////////////////////////////////////////////
1381/// Creates an unmapped subwindow for a specified parent window and returns
1382/// the created window. The created window is placed on top in the stacking
1383/// order with respect to siblings. The coordinate system has the X axis
1384/// horizontal and the Y axis vertical with the origin [0,0] at the
1385/// upper-left corner. Each window and pixmap has its own coordinate system.
1386///
1387/// \param [in] parent the parent window
1388/// \param [in] x, y coordinates, the top-left outside corner of the window's
1389/// borders; relative to the inside of the parent window's borders
1390/// \param [in] w, h width and height of the created window; do not include the
1391/// created window's borders
1392/// \param [in] border the border pixel value of the window
1393/// \param [in] depth the window's depth
1394/// \param [in] clss the created window's class; can be InputOutput, InputOnly, or
1395/// CopyFromParent
1396/// \param [in] visual the visual type
1397/// \param [in] attr the structure from which the values are to be taken.
1398/// \param [in] wtype the window type
1399
1401 UInt_t /*w*/, UInt_t /*h*/,
1402 UInt_t /*border*/, Int_t /*depth*/,
1403 UInt_t /*clss*/, void * /*visual*/,
1404 SetWindowAttributes_t * /*attr*/,
1405 UInt_t /*wtype*/)
1406{
1407 return 0;
1408}
1409
1410////////////////////////////////////////////////////////////////////////////////
1411/// Opens connection to display server (if such a thing exist on the
1412/// current platform). The encoding and interpretation of the display
1413/// name.
1414///
1415/// On X11 this method returns on success the X display socket descriptor
1416/// >0, 0 in case of batch mode, and <0 in case of failure (cannot connect
1417/// to display dpyName).
1418
1419Int_t TVirtualX::OpenDisplay(const char * /*dpyName*/)
1420{
1421 return 0;
1422}
1423
1424////////////////////////////////////////////////////////////////////////////////
1425/// Closes connection to display server and destroys all windows.
1426
1428{
1429}
1430
1431////////////////////////////////////////////////////////////////////////////////
1432/// Returns handle to display (might be useful in some cases where
1433/// direct X11 manipulation outside of TVirtualX is needed, e.g. GL
1434/// interface).
1435
1437{
1438 return 0;
1439}
1440
1441////////////////////////////////////////////////////////////////////////////////
1442/// Returns handle to visual.
1443///
1444/// Might be useful in some cases where direct X11 manipulation outside
1445/// of TVirtualX is needed, e.g. GL interface.
1446
1448{
1449 return 0;
1450}
1451
1452////////////////////////////////////////////////////////////////////////////////
1453/// Returns screen number.
1454///
1455/// Might be useful in some cases where direct X11 manipulation outside
1456/// of TVirtualX is needed, e.g. GL interface.
1457
1459{
1460 return 0;
1461}
1462
1463////////////////////////////////////////////////////////////////////////////////
1464/// Returns depth of screen (number of bit planes).
1465/// Equivalent to GetPlanes().
1466
1468{
1469 return 0;
1470}
1471
1472////////////////////////////////////////////////////////////////////////////////
1473/// Returns handle to colormap.
1474///
1475/// Might be useful in some cases where direct X11 manipulation outside
1476/// of TVirtualX is needed, e.g. GL interface.
1477
1479{
1480 return 0;
1481}
1482
1483////////////////////////////////////////////////////////////////////////////////
1484/// Returns handle to the default root window created when calling
1485/// XOpenDisplay().
1486
1488{
1489 return 0;
1490}
1491
1492////////////////////////////////////////////////////////////////////////////////
1493/// Returns the atom identifier associated with the specified "atom_name"
1494/// string. If "only_if_exists" is False, the atom is created if it does
1495/// not exist. If the atom name is not in the Host Portable Character
1496/// Encoding, the result is implementation dependent. Uppercase and
1497/// lowercase matter; the strings "thing", "Thing", and "thinG" all
1498/// designate different atoms.
1499
1500Atom_t TVirtualX::InternAtom(const char * /*atom_name*/,
1501 Bool_t /*only_if_exist*/)
1502{
1503 return 0;
1504}
1505
1506////////////////////////////////////////////////////////////////////////////////
1507/// Returns the parent of the window "id".
1508
1510{
1511 return 0;
1512}
1513
1514////////////////////////////////////////////////////////////////////////////////
1515/// Provides the most common way for accessing a font: opens (loads) the
1516/// specified font and returns a pointer to the appropriate FontStruct_t
1517/// structure. If the font does not exist, it returns NULL.
1518
1519FontStruct_t TVirtualX::LoadQueryFont(const char * /*font_name*/)
1520{
1521 return 0;
1522}
1523
1524////////////////////////////////////////////////////////////////////////////////
1525/// Returns the font handle of the specified font structure "fs".
1526
1528{
1529 return 0;
1530}
1531
1532////////////////////////////////////////////////////////////////////////////////
1533/// Explicitly deletes the font structure "fs" obtained via LoadQueryFont().
1534
1536{
1537}
1538
1539////////////////////////////////////////////////////////////////////////////////
1540/// Creates a graphics context using the provided GCValues_t *gval structure.
1541/// The mask data member of gval specifies which components in the GC are
1542/// to be set using the information in the specified values structure.
1543/// It returns a graphics context handle GContext_t that can be used with any
1544/// destination drawable or O if the creation falls.
1545
1547{
1548 return 0;
1549}
1550
1551////////////////////////////////////////////////////////////////////////////////
1552/// Changes the components specified by the mask in gval for the specified GC.
1553///
1554/// \param [in] gc specifies the GC to be changed
1555/// \param [in] gval specifies the mask and the values to be set
1556///
1557/// (see also the GCValues_t structure)
1558
1560{
1561}
1562
1563////////////////////////////////////////////////////////////////////////////////
1564/// Copies the specified components from the source GC "org" to the
1565/// destination GC "dest". The "mask" defines which component to copy
1566/// and it is a data member of GCValues_t.
1567
1568void TVirtualX::CopyGC(GContext_t /*org*/, GContext_t /*dest*/, Mask_t /*mask*/)
1569{
1570}
1571
1572////////////////////////////////////////////////////////////////////////////////
1573/// Deletes the specified GC "gc".
1574
1576{
1577}
1578
1579////////////////////////////////////////////////////////////////////////////////
1580/// Creates the specified cursor. (just return cursor from cursor pool).
1581/// The cursor can be:
1582/// ~~~ {.cpp}
1583/// kBottomLeft, kBottomRight, kTopLeft, kTopRight,
1584/// kBottomSide, kLeftSide, kTopSide, kRightSide,
1585/// kMove, kCross, kArrowHor, kArrowVer,
1586/// kHand, kRotate, kPointer, kArrowRight,
1587/// kCaret, kWatch
1588/// ~~~
1589
1591{
1592 return 0;
1593}
1594
1595////////////////////////////////////////////////////////////////////////////////
1596/// Sets the cursor "curid" to be used when the pointer is in the
1597/// window "id".
1598
1600{
1601}
1602
1603////////////////////////////////////////////////////////////////////////////////
1604/// Creates a pixmap of the specified width and height and returns
1605/// a pixmap ID that identifies it.
1606
1608{
1609 return kNone;
1610}
1611////////////////////////////////////////////////////////////////////////////////
1612/// Creates a pixmap from bitmap data of the width, height, and depth you
1613/// specified and returns a pixmap that identifies it. The width and height
1614/// arguments must be nonzero. The depth argument must be one of the depths
1615/// supported by the screen of the specified drawable.
1616///
1617/// \param [in] id specifies which screen the pixmap is created on
1618/// \param [in] bitmap the data in bitmap format
1619/// \param [in] width, height define the dimensions of the pixmap
1620/// \param [in] forecolor the foreground pixel values to use
1621/// \param [in] backcolor the background pixel values to use
1622/// \param [in] depth the depth of the pixmap
1623
1624Pixmap_t TVirtualX::CreatePixmap(Drawable_t /*id*/, const char * /*bitmap*/,
1625 UInt_t /*width*/, UInt_t /*height*/,
1626 ULong_t /*forecolor*/, ULong_t /*backcolor*/,
1627 Int_t /*depth*/)
1628{
1629 return 0;
1630}
1631
1632////////////////////////////////////////////////////////////////////////////////
1633/// Creates a bitmap (i.e. pixmap with depth 1) from the bitmap data.
1634///
1635/// \param [in] id specifies which screen the pixmap is created on
1636/// \param [in] bitmap the data in bitmap format
1637/// \param [in] width, height define the dimensions of the pixmap
1638
1639Pixmap_t TVirtualX::CreateBitmap(Drawable_t /*id*/, const char * /*bitmap*/,
1640 UInt_t /*width*/, UInt_t /*height*/)
1641{
1642 return 0;
1643}
1644
1645////////////////////////////////////////////////////////////////////////////////
1646/// Explicitly deletes the pixmap resource "pmap".
1647
1649{
1650}
1651
1652////////////////////////////////////////////////////////////////////////////////
1653/// Creates a picture pict from data in file "filename". The picture
1654/// attributes "attr" are used for input and output. Returns kTRUE in
1655/// case of success, kFALSE otherwise. If the mask "pict_mask" does not
1656/// exist it is set to kNone.
1657
1659 const char * /*filename*/,
1660 Pixmap_t &/*pict*/,
1661 Pixmap_t &/*pict_mask*/,
1662 PictureAttributes_t &/*attr*/)
1663{
1664 return kFALSE;
1665}
1666
1667////////////////////////////////////////////////////////////////////////////////
1668/// Creates a picture pict from data in bitmap format. The picture
1669/// attributes "attr" are used for input and output. Returns kTRUE in
1670/// case of success, kFALSE otherwise. If the mask "pict_mask" does not
1671/// exist it is set to kNone.
1672
1674 Pixmap_t &/*pict*/,
1675 Pixmap_t &/*pict_mask*/,
1676 PictureAttributes_t & /*attr*/)
1677{
1678 return kFALSE;
1679}
1680////////////////////////////////////////////////////////////////////////////////
1681/// Reads picture data from file "filename" and store it in "ret_data".
1682/// Returns kTRUE in case of success, kFALSE otherwise.
1683
1685 char *** /*ret_data*/)
1686{
1687 return kFALSE;
1688}
1689
1690////////////////////////////////////////////////////////////////////////////////
1691/// Delete picture data created by the function ReadPictureDataFromFile.
1692
1693void TVirtualX::DeletePictureData(void * /*data*/)
1694{
1695}
1696
1697////////////////////////////////////////////////////////////////////////////////
1698/// Sets the dash-offset and dash-list attributes for dashed line styles
1699/// in the specified GC. There must be at least one element in the
1700/// specified dash_list. The initial and alternating elements (second,
1701/// fourth, and so on) of the dash_list are the even dashes, and the
1702/// others are the odd dashes. Each element in the "dash_list" array
1703/// specifies the length (in pixels) of a segment of the pattern.
1704///
1705/// \param [in] gc specifies the GC (see GCValues_t structure)
1706/// \param [in] offset the phase of the pattern for the dashed line-style you
1707/// want to set for the specified GC.
1708/// \param [in] dash_list the dash-list for the dashed line-style you want to set
1709/// for the specified GC
1710/// \param [in] n the number of elements in dash_list
1711/// (see also the GCValues_t structure)
1712
1713void TVirtualX::SetDashes(GContext_t /*gc*/, Int_t /*offset*/,
1714 const char * /*dash_list*/, Int_t /*n*/)
1715{
1716}
1717
1718////////////////////////////////////////////////////////////////////////////////
1719/// Frees color cell with specified pixel value.
1720
1721void TVirtualX::FreeColor(Colormap_t /*cmap*/, ULong_t /*pixel*/)
1722{
1723}
1724
1725////////////////////////////////////////////////////////////////////////////////
1726/// Returns the number of events that have been received from the X server
1727/// but have not been removed from the event queue.
1728
1730{
1731 return 0;
1732}
1733
1734////////////////////////////////////////////////////////////////////////////////
1735/// Sets the sound bell. Percent is loudness from -100% to 100%.
1736
1737void TVirtualX::Bell(Int_t /*percent*/)
1738{
1739}
1740
1741////////////////////////////////////////////////////////////////////////////////
1742/// Combines the specified rectangle of "src" with the specified rectangle
1743/// of "dest" according to the "gc".
1744///
1745/// \param [in] src source rectangle
1746/// \param [in] dest destination rectangle
1747/// \param [in] gc graphics context
1748/// \param [in] src_x, src_y specify the x and y coordinates, which are relative
1749/// to the origin of the source rectangle and specify
1750/// upper-left corner.
1751/// \param [in] width, height the width and height, which are the dimensions of both
1752/// the source and destination rectangles
1753/// \param [in] dest_x, dest_y specify the upper-left corner of the destination
1754/// rectangle
1755///
1756/// GC components in use: function, plane-mask, subwindow-mode,
1757/// graphics-exposure, clip-x-origin, clip-y-origin, and clip-mask.
1758/// (see also the GCValues_t structure)
1759
1761 GContext_t /*gc*/, Int_t /*src_x*/, Int_t /*src_y*/,
1762 UInt_t /*width*/, UInt_t /*height*/,
1763 Int_t /*dest_x*/, Int_t /*dest_y*/)
1764{
1765}
1766
1767////////////////////////////////////////////////////////////////////////////////
1768/// Changes the attributes of the specified window "id" according the
1769/// values provided in "attr". The mask data member of "attr" specifies
1770/// which window attributes are defined in the attributes argument.
1771/// This mask is the bitwise inclusive OR of the valid attribute mask
1772/// bits; if it is zero, the attributes are ignored.
1773
1775 SetWindowAttributes_t * /*attr*/)
1776{
1777}
1778
1779////////////////////////////////////////////////////////////////////////////////
1780/// Alters the property for the specified window and causes the X server
1781/// to generate a PropertyNotify event on that window.
1782///
1783/// \param [in] id the window whose property you want to change
1784/// \param [in] property specifies the property name
1785/// \param [in] type the type of the property; the X server does not
1786/// interpret the type but simply passes it back to
1787/// an application that might ask about the window
1788/// properties
1789/// \param [in] data the property data
1790/// \param [in] len the length of the specified data format
1791
1793 Atom_t /*type*/, UChar_t * /*data*/,
1794 Int_t /*len*/)
1795{
1796}
1797
1798////////////////////////////////////////////////////////////////////////////////
1799/// Alters the property for the specified window and causes the X server
1800/// to generate a PropertyNotify event on that window.
1801///
1802/// \param [in] id the window whose property you want to change
1803/// \param [in] hint specifies the type to be changed
1804
1806{
1807}
1808
1809////////////////////////////////////////////////////////////////////////////////
1810/// Uses the components of the specified GC to draw a line between the
1811/// specified set of points (x1, y1) and (x2, y2).
1812///
1813/// GC components in use: function, plane-mask, line-width, line-style,
1814/// cap-style, fill-style, subwindow-mode, clip-x-origin, clip-y-origin,
1815/// and clip-mask.
1816///
1817/// GC mode-dependent components: foreground, background, tile, stipple,
1818/// tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dash-list.
1819/// (see also the GCValues_t structure)
1820
1822 Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/)
1823{
1824}
1825
1826////////////////////////////////////////////////////////////////////////////////
1827/// Paints a rectangular area in the specified window "id" according to
1828/// the specified dimensions with the window's background pixel or pixmap.
1829///
1830/// \param [in] id specifies the window
1831/// \param [in] x, y coordinates, which are relative to the origin
1832/// \param [in] w, h the width and height which define the rectangle dimensions
1833
1834void TVirtualX::ClearArea(Window_t /*id*/, Int_t /*x*/, Int_t /*y*/,
1835 UInt_t /*w*/, UInt_t /*h*/)
1836{
1837}
1838
1839////////////////////////////////////////////////////////////////////////////////
1840/// Check if there is for window "id" an event of type "type". If there
1841/// is it fills in the event structure and return true. If no such event
1842/// return false.
1843
1845 Event_t &/*ev*/)
1846{
1847 return kFALSE;
1848}
1849
1850////////////////////////////////////////////////////////////////////////////////
1851/// Specifies the event "ev" is to be sent to the window "id".
1852/// This function requires you to pass an event mask.
1853
1855{
1856}
1857
1858////////////////////////////////////////////////////////////////////////////////
1859/// Force processing of event, sent by SendEvent before.
1860
1862{
1863}
1864
1865////////////////////////////////////////////////////////////////////////////////
1866/// Tells WM to send message when window is closed via WM.
1867
1869{
1870}
1871
1872////////////////////////////////////////////////////////////////////////////////
1873/// Turns key auto repeat on (kTRUE) or off (kFALSE).
1874
1876{
1877}
1878
1879////////////////////////////////////////////////////////////////////////////////
1880/// Establishes a passive grab on the keyboard. In the future, the
1881/// keyboard is actively grabbed, the last-keyboard-grab time is set
1882/// to the time at which the key was pressed (as transmitted in the
1883/// KeyPress event), and the KeyPress event is reported if all of the
1884/// following conditions are true:
1885///
1886/// - the keyboard is not grabbed and the specified key (which can
1887/// itself be a modifier key) is logically pressed when the
1888/// specified modifier keys are logically down, and no other
1889/// modifier keys are logically down;
1890/// - either the grab window "id" is an ancestor of (or is) the focus
1891/// window, or "id" is a descendant of the focus window and contains
1892/// the pointer;
1893/// - a passive grab on the same key combination does not exist on any
1894/// ancestor of grab_window
1895///
1896/// \param [in] id window id
1897/// \param [in] keycode specifies the KeyCode or AnyKey
1898/// \param [in] modifier specifies the set of keymasks or AnyModifier; the mask is
1899/// the bitwise inclusive OR of the valid keymask bits
1900/// \param [in] grab a switch between grab/ungrab key
1901/// grab = kTRUE grab the key and modifier
1902/// grab = kFALSE ungrab the key and modifier
1903
1904void TVirtualX::GrabKey(Window_t /*id*/, Int_t /*keycode*/, UInt_t /*modifier*/,
1905 Bool_t /*grab = kTRUE*/)
1906{
1907}
1908
1909////////////////////////////////////////////////////////////////////////////////
1910/// Establishes a passive grab on a certain mouse button. That is, when a
1911/// certain mouse button is hit while certain modifier's (Shift, Control,
1912/// Meta, Alt) are active then the mouse will be grabbed for window id.
1913/// When grab is false, ungrab the mouse button for this button and modifier.
1914
1916 UInt_t /*modifier*/, UInt_t /*evmask*/,
1917 Window_t /*confine*/, Cursor_t /*cursor*/,
1918 Bool_t /*grab = kTRUE*/)
1919{
1920}
1921
1922////////////////////////////////////////////////////////////////////////////////
1923/// Establishes an active pointer grab. While an active pointer grab is in
1924/// effect, further pointer events are only reported to the grabbing
1925/// client window.
1926
1928 Window_t /*confine*/, Cursor_t /*cursor*/,
1929 Bool_t /*grab = kTRUE*/,
1930 Bool_t /*owner_events = kTRUE*/)
1931{
1932}
1933
1934////////////////////////////////////////////////////////////////////////////////
1935/// Sets the window name.
1936
1937void TVirtualX::SetWindowName(Window_t /*id*/, char * /*name*/)
1938{
1939}
1940
1941////////////////////////////////////////////////////////////////////////////////
1942/// Sets the window icon name.
1943
1944void TVirtualX::SetIconName(Window_t /*id*/, char * /*name*/)
1945{
1946}
1947
1948////////////////////////////////////////////////////////////////////////////////
1949/// Sets the icon name pixmap.
1950
1952{
1953}
1954
1955////////////////////////////////////////////////////////////////////////////////
1956/// Sets the windows class and resource name.
1957
1958void TVirtualX::SetClassHints(Window_t /*id*/, char * /*className*/,
1959 char * /*resourceName*/)
1960{
1961}
1962
1963////////////////////////////////////////////////////////////////////////////////
1964/// Sets decoration style.
1965
1966void TVirtualX::SetMWMHints(Window_t /*id*/, UInt_t /*value*/, UInt_t /*funcs*/,
1967 UInt_t /*input*/)
1968{
1969}
1970
1971////////////////////////////////////////////////////////////////////////////////
1972/// Tells the window manager the desired position [x,y] of window "id".
1973
1975{
1976}
1977
1978////////////////////////////////////////////////////////////////////////////////
1979/// Tells window manager the desired size of window "id".
1980///
1981/// \param [in] id window identifier
1982/// \param [in] w the width
1983/// \param [in] h the height
1984
1985void TVirtualX::SetWMSize(Window_t /*id*/, UInt_t /*w*/, UInt_t /*h*/)
1986{
1987}
1988
1989////////////////////////////////////////////////////////////////////////////////
1990/// Gives the window manager minimum and maximum size hints of the window
1991/// "id". Also specify via "winc" and "hinc" the resize increments.
1992///
1993/// \param [in] id window identifier
1994/// \param [in] wmin, hmin specify the minimum window size
1995/// \param [in] wmax, hmax specify the maximum window size
1996/// \param [in] winc, hinc define an arithmetic progression of sizes into which
1997/// the window to be resized (minimum to maximum)
1998
1999void TVirtualX::SetWMSizeHints(Window_t /*id*/, UInt_t /*wmin*/, UInt_t /*hmin*/,
2000 UInt_t /*wmax*/, UInt_t /*hmax*/,
2001 UInt_t /*winc*/, UInt_t /*hinc*/)
2002{
2003}
2004
2005////////////////////////////////////////////////////////////////////////////////
2006/// Sets the initial state of the window "id": either kNormalState
2007/// or kIconicState.
2008
2010{
2011}
2012
2013////////////////////////////////////////////////////////////////////////////////
2014/// Tells window manager that the window "id" is a transient window
2015/// of the window "main_id". A window manager may decide not to decorate
2016/// a transient window or may treat it differently in other ways.
2017
2019{
2020}
2021
2022////////////////////////////////////////////////////////////////////////////////
2023/// Each character image, as defined by the font in the GC, is treated as an
2024/// additional mask for a fill operation on the drawable.
2025///
2026/// \param [in] id the drawable
2027/// \param [in] gc the GC
2028/// \param [in] x, y coordinates, which are relative to the origin of the specified
2029/// drawable and define the origin of the first character
2030/// \param [in] s the character string
2031/// \param [in] len the number of characters in the string argument
2032///
2033/// GC components in use: function, plane-mask, fill-style, font,
2034/// subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
2035/// GC mode-dependent components: foreground, background, tile, stipple,
2036/// tile-stipple-x-origin, and tile-stipple-y-origin.
2037/// (see also the GCValues_t structure)
2038
2040 Int_t /*y*/, const char * /*s*/, Int_t /*len*/)
2041{
2042}
2043
2044////////////////////////////////////////////////////////////////////////////////
2045/// Return length of the string "s" in pixels. Size depends on font.
2046
2047Int_t TVirtualX::TextWidth(FontStruct_t /*font*/, const char * /*s*/,
2048 Int_t /*len*/)
2049{
2050 return 5;
2051}
2052
2053////////////////////////////////////////////////////////////////////////////////
2054/// Returns the font properties.
2055
2062
2063////////////////////////////////////////////////////////////////////////////////
2064/// Returns the components specified by the mask in "gval" for the
2065/// specified GC "gc" (see also the GCValues_t structure)
2066
2068{
2069 gval.fMask = 0;
2070}
2071
2072////////////////////////////////////////////////////////////////////////////////
2073/// Return the font associated with the graphics context gc
2074
2076{
2077 return 0;
2078}
2079
2080////////////////////////////////////////////////////////////////////////////////
2081/// Retrieves the associated font structure of the font specified font
2082/// handle "fh".
2083///
2084/// Free returned FontStruct_t using FreeFontStruct().
2085
2087{
2088 return 0;
2089}
2090
2091////////////////////////////////////////////////////////////////////////////////
2092/// Frees the font structure "fs". The font itself will be freed when
2093/// no other resource references it.
2094
2098
2099////////////////////////////////////////////////////////////////////////////////
2100/// Clears the entire area in the specified window and it is equivalent to
2101/// ClearArea(id, 0, 0, 0, 0)
2102
2104{
2105}
2106
2107////////////////////////////////////////////////////////////////////////////////
2108/// Converts the "keysym" to the appropriate keycode. For example,
2109/// keysym is a letter and keycode is the matching keyboard key (which
2110/// is dependent on the current keyboard mapping). If the specified
2111/// "keysym" is not defined for any keycode, returns zero.
2112
2114{
2115 return 0;
2116}
2117
2118////////////////////////////////////////////////////////////////////////////////
2119/// Fills the specified rectangle defined by [x,y] [x+w,y] [x+w,y+h] [x,y+h].
2120/// using the GC you specify.
2121///
2122/// GC components in use are: function, plane-mask, fill-style,
2123/// subwindow-mode, clip-x-origin, clip-y-origin, clip-mask.
2124/// GC mode-dependent components: foreground, background, tile, stipple,
2125/// tile-stipple-x-origin, and tile-stipple-y-origin.
2126/// (see also the GCValues_t structure)
2127
2129 Int_t /*x*/, Int_t /*y*/,
2130 UInt_t /*w*/, UInt_t /*h*/)
2131{
2132}
2133
2134////////////////////////////////////////////////////////////////////////////////
2135/// Draws rectangle outlines of [x,y] [x+w,y] [x+w,y+h] [x,y+h]
2136///
2137/// GC components in use: function, plane-mask, line-width, line-style,
2138/// cap-style, join-style, fill-style, subwindow-mode, clip-x-origin,
2139/// clip-y-origin, clip-mask.
2140/// GC mode-dependent components: foreground, background, tile, stipple,
2141/// tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dash-list.
2142/// (see also the GCValues_t structure)
2143
2145 Int_t /*x*/, Int_t /*y*/,
2146 UInt_t /*w*/, UInt_t /*h*/)
2147{
2148}
2149
2150////////////////////////////////////////////////////////////////////////////////
2151/// Draws multiple line segments. Each line is specified by a pair of points.
2152///
2153/// \param [in] id Drawable identifier
2154/// \param [in] gc graphics context
2155/// \param [in] *seg specifies an array of segments
2156/// \param [in] nseg specifies the number of segments in the array
2157///
2158/// GC components in use: function, plane-mask, line-width, line-style,
2159/// cap-style, join-style, fill-style, subwindow-mode, clip-x-origin,
2160/// clip-y-origin, clip-mask.
2161///
2162/// GC mode-dependent components: foreground, background, tile, stipple,
2163/// tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, and dash-list.
2164/// (see also the GCValues_t structure)
2165
2167 Segment_t * /*seg*/, Int_t /*nseg*/)
2168{
2169}
2170
2171////////////////////////////////////////////////////////////////////////////////
2172/// Defines which input events the window is interested in. By default
2173/// events are propagated up the window stack. This mask can also be
2174/// set at window creation time via the SetWindowAttributes_t::fEventMask
2175/// attribute.
2176
2178{
2179}
2180
2181////////////////////////////////////////////////////////////////////////////////
2182/// Returns the window id of the window having the input focus.
2183
2185{
2186 return kNone;
2187}
2188
2189////////////////////////////////////////////////////////////////////////////////
2190/// Changes the input focus to specified window "id".
2191
2193{
2194}
2195
2196////////////////////////////////////////////////////////////////////////////////
2197/// Returns the window id of the current owner of the primary selection.
2198/// That is the window in which, for example some text is selected.
2199
2204
2205////////////////////////////////////////////////////////////////////////////////
2206/// Makes the window "id" the current owner of the primary selection.
2207/// That is the window in which, for example some text is selected.
2208
2212
2213////////////////////////////////////////////////////////////////////////////////
2214/// Causes a SelectionRequest event to be sent to the current primary
2215/// selection owner. This event specifies the selection property
2216/// (primary selection), the format into which to convert that data before
2217/// storing it (target = XA_STRING), the property in which the owner will
2218/// place the information (sel_property), the window that wants the
2219/// information (id), and the time of the conversion request (when).
2220/// The selection owner responds by sending a SelectionNotify event, which
2221/// confirms the selected atom and type.
2222
2224 Time_t /*when*/)
2225{
2226}
2227
2228////////////////////////////////////////////////////////////////////////////////
2229/// Converts the keycode from the event structure to a key symbol (according
2230/// to the modifiers specified in the event structure and the current
2231/// keyboard mapping). In "buf" a null terminated ASCII string is returned
2232/// representing the string that is currently mapped to the key code.
2233///
2234/// \param [in] event specifies the event structure to be used
2235/// \param [in] buf returns the translated characters
2236/// \param [in] buflen the length of the buffer
2237/// \param [in] keysym returns the "keysym" computed from the event
2238/// if this argument is not NULL
2239
2240void TVirtualX::LookupString(Event_t * /*event*/, char * /*buf*/,
2241 Int_t /*buflen*/, UInt_t &keysym)
2242{
2243 keysym = 0;
2244}
2245
2246////////////////////////////////////////////////////////////////////////////////
2247/// Translates coordinates in one window to the coordinate space of another
2248/// window. It takes the "src_x" and "src_y" coordinates relative to the
2249/// source window's origin and returns these coordinates to "dest_x" and
2250/// "dest_y" relative to the destination window's origin.
2251///
2252/// \param [in] src the source window
2253/// \param [in] dest the destination window
2254/// \param [in] src_x, src_y coordinates within the source window
2255/// \param [in] dest_x, dest_y coordinates within the destination window
2256/// \param [in] child returns the child of "dest" if the coordinates
2257/// are contained in a mapped child of the destination
2258/// window; otherwise, child is set to 0
2259
2261 Int_t /*src_x*/, Int_t /*src_y*/,
2263 Window_t &child)
2264{
2265 dest_x = dest_y = 0;
2266 child = 0;
2267}
2268
2269////////////////////////////////////////////////////////////////////////////////
2270/// Returns the location and the size of window "id"
2271///
2272/// \param [in] id drawable identifier
2273/// \param [in] x, y coordinates of the upper-left outer corner relative to the
2274/// parent window's origin
2275/// \param [in] w, h the inside size of the window, not including the border
2276
2278 UInt_t &w, UInt_t &h)
2279{
2280 x = y = 0;
2281 w = h = 1;
2282}
2283
2284////////////////////////////////////////////////////////////////////////////////
2285/// Fills the region closed by the specified path. The path is closed
2286/// automatically if the last point in the list does not coincide with the
2287/// first point.
2288///
2289/// \param [in] id window identifier
2290/// \param [in] gc graphics context
2291/// \param [in] *points specifies an array of points
2292/// \param [in] npnt specifies the number of points in the array
2293///
2294/// GC components in use: function, plane-mask, fill-style, fill-rule,
2295/// subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. GC
2296/// mode-dependent components: foreground, background, tile, stipple,
2297/// tile-stipple-x-origin, and tile-stipple-y-origin.
2298/// (see also the GCValues_t structure)
2299
2301 /*points*/, Int_t /*npnt*/) {
2302}
2303
2304////////////////////////////////////////////////////////////////////////////////
2305/// Returns the root window the pointer is logically on and the pointer
2306/// coordinates relative to the root window's origin.
2307///
2308/// \param [in] id specifies the window
2309/// \param [in] rootw the root window that the pointer is in
2310/// \param [in] childw the child window that the pointer is located in, if any
2311/// \param [in] root_x, root_y the pointer coordinates relative to the root window's
2312/// origin
2313/// \param [in] win_x, win_y the pointer coordinates relative to the specified
2314/// window "id"
2315/// \param [in] mask the current state of the modifier keys and pointer
2316/// buttons
2317
2321{
2322 rootw = childw = kNone;
2323 root_x = root_y = win_x = win_y = 0;
2324 mask = 0;
2325}
2326
2327////////////////////////////////////////////////////////////////////////////////
2328/// Sets the foreground color for the specified GC (shortcut for ChangeGC
2329/// with only foreground mask set).
2330///
2331/// \param [in] gc specifies the GC
2332/// \param [in] foreground the foreground you want to set
2333///
2334/// (see also the GCValues_t structure)
2335
2336void TVirtualX::SetForeground(GContext_t /*gc*/, ULong_t /*foreground*/)
2337{
2338}
2339
2340////////////////////////////////////////////////////////////////////////////////
2341/// Sets clipping rectangles in graphics context. [x,y] specify the origin
2342/// of the rectangles. "recs" specifies an array of rectangles that define
2343/// the clipping mask and "n" is the number of rectangles.
2344/// (see also the GCValues_t structure)
2345
2347 Rectangle_t * /*recs*/, Int_t /*n*/)
2348{
2349}
2350
2351////////////////////////////////////////////////////////////////////////////////
2352/// Flushes (mode = 0, default) or synchronizes (mode = 1) X output buffer.
2353/// Flush flushes output buffer. Sync flushes buffer and waits till all
2354/// requests have been processed by X server.
2355
2356void TVirtualX::Update(Int_t /*mode = 0*/)
2357{
2358}
2359
2360////////////////////////////////////////////////////////////////////////////////
2361/// Creates a new empty region.
2362
2364{
2365 return 0;
2366}
2367
2368////////////////////////////////////////////////////////////////////////////////
2369/// Destroys the region "reg".
2370
2372{
2373}
2374
2375////////////////////////////////////////////////////////////////////////////////
2376/// Updates the destination region from a union of the specified rectangle
2377/// and the specified source region.
2378///
2379/// \param [in] rect specifies the rectangle
2380/// \param [in] src specifies the source region to be used
2381/// \param [in] dest returns the destination region
2382
2384 Region_t /*dest*/)
2385{
2386}
2387
2388////////////////////////////////////////////////////////////////////////////////
2389/// Returns a region for the polygon defined by the points array.
2390///
2391/// \param [in] points specifies an array of points
2392/// \param [in] np specifies the number of points in the polygon
2393/// \param [in] winding specifies the winding-rule is set (kTRUE) or not(kFALSE)
2394
2396 Bool_t /*winding*/)
2397{
2398 return 0;
2399}
2400
2401////////////////////////////////////////////////////////////////////////////////
2402/// Computes the union of two regions.
2403///
2404/// \param [in] rega, regb specify the two regions with which you want to perform
2405/// the computation
2406/// \param [in] result returns the result of the computation
2407
2409 Region_t /*result*/)
2410{
2411}
2412
2413////////////////////////////////////////////////////////////////////////////////
2414/// Computes the intersection of two regions.
2415///
2416/// \param [in] rega, regb specify the two regions with which you want to perform
2417/// the computation
2418/// \param [in] result returns the result of the computation
2419
2421 Region_t /*result*/)
2422{
2423}
2424
2425////////////////////////////////////////////////////////////////////////////////
2426/// Subtracts regb from rega and stores the results in result.
2427
2429 Region_t /*result*/)
2430{
2431}
2432
2433////////////////////////////////////////////////////////////////////////////////
2434/// Calculates the difference between the union and intersection of
2435/// two regions.
2436///
2437/// \param [in] rega, regb specify the two regions with which you want to perform
2438/// the computation
2439/// \param [in] result returns the result of the computation
2440
2442 Region_t /*result*/)
2443{
2444}
2445
2446////////////////////////////////////////////////////////////////////////////////
2447/// Returns kTRUE if the region reg is empty.
2448
2450{
2451 return kFALSE;
2452}
2453
2454////////////////////////////////////////////////////////////////////////////////
2455/// Returns kTRUE if the point [x, y] is contained in the region reg.
2456
2458{
2459 return kFALSE;
2460}
2461
2462////////////////////////////////////////////////////////////////////////////////
2463/// Returns kTRUE if the two regions have the same offset, size, and shape.
2464
2466{
2467 return kFALSE;
2468}
2469
2470////////////////////////////////////////////////////////////////////////////////
2471/// Returns smallest enclosing rectangle.
2472
2474{
2475}
2476
2477////////////////////////////////////////////////////////////////////////////////
2478/// Returns list of font names matching fontname regexp, like "-*-times-*".
2479/// The pattern string can contain any characters, but each asterisk (*)
2480/// is a wildcard for any number of characters, and each question mark (?)
2481/// is a wildcard for a single character. If the pattern string is not in
2482/// the Host Portable Character Encoding, the result is implementation
2483/// dependent. Use of uppercase or lowercase does not matter. Each returned
2484/// string is null-terminated.
2485///
2486/// \param [in] fontname specifies the null-terminated pattern string that can
2487/// contain wildcard characters
2488/// \param [in] max specifies the maximum number of names to be returned
2489/// \param [in] count returns the actual number of font names
2490
2491char **TVirtualX::ListFonts(const char * /*fontname*/, Int_t /*max*/, Int_t & count)
2492{
2493 count=0;
2494 return nullptr;
2495}
2496
2497////////////////////////////////////////////////////////////////////////////////
2498/// Frees the specified the array of strings "fontlist".
2499
2500void TVirtualX::FreeFontNames(char ** /*fontlist*/)
2501{
2502}
2503
2504////////////////////////////////////////////////////////////////////////////////
2505/// Allocates the memory needed for an drawable.
2506///
2507/// \param [in] width the width of the image, in pixels
2508/// \param [in] height the height of the image, in pixels
2509
2511{
2512 return 0;
2513}
2514
2515////////////////////////////////////////////////////////////////////////////////
2516/// Returns the width and height of the image id
2517
2519 UInt_t &/*height*/)
2520{
2521}
2522
2523////////////////////////////////////////////////////////////////////////////////
2524/// Overwrites the pixel in the image with the specified pixel value.
2525/// The image must contain the x and y coordinates.
2526///
2527/// \param [in] id specifies the image
2528/// \param [in] x, y coordinates
2529/// \param [in] pixel the new pixel value
2530
2531void TVirtualX::PutPixel(Drawable_t /*id*/, Int_t /*x*/, Int_t /*y*/,
2532 ULong_t /*pixel*/)
2533{
2534}
2535
2536////////////////////////////////////////////////////////////////////////////////
2537/// Combines an image with a rectangle of the specified drawable. The
2538/// section of the image defined by the x, y, width, and height arguments
2539/// is drawn on the specified part of the drawable.
2540///
2541/// \param [in] id the drawable
2542/// \param [in] gc the GC
2543/// \param [in] img the image you want combined with the rectangle
2544/// \param [in] dx the offset in X from the left edge of the image
2545/// \param [in] dy the offset in Y from the top edge of the image
2546/// \param [in] x, y coordinates, which are relative to the origin of the
2547/// drawable and are the coordinates of the subimage
2548/// \param [in] w, h the width and height of the subimage, which define the
2549/// rectangle dimensions
2550///
2551/// GC components in use: function, plane-mask, subwindow-mode,
2552/// clip-x-origin, clip-y-origin, and clip-mask.
2553/// GC mode-dependent components: foreground and background.
2554/// (see also the GCValues_t structure)
2555
2557 Drawable_t /*img*/, Int_t /*dx*/, Int_t /*dy*/,
2558 Int_t /*x*/, Int_t /*y*/, UInt_t /*w*/, UInt_t /*h*/)
2559{
2560}
2561
2562////////////////////////////////////////////////////////////////////////////////
2563/// Deallocates the memory associated with the image img
2564
2566{
2567}
2568
2569////////////////////////////////////////////////////////////////////////////////
2570/// pointer to the current internal window used in canvas graphics
2571
2573{
2574 return (Window_t)0;
2575}
2576
2577////////////////////////////////////////////////////////////////////////////////
2578/// Returns an array of pixels created from a part of drawable (defined by x, y, w, h)
2579/// in format:
2580///
2581/// ~~~ {.cpp}
2582/// b1, g1, r1, 0, b2, g2, r2, 0 ... bn, gn, rn, 0 ..
2583/// ~~~
2584///
2585/// Pixels are numbered from left to right and from top to bottom.
2586/// By default all pixels from the whole drawable are returned.
2587///
2588/// Note that return array is 32-bit aligned
2589
2590unsigned char *TVirtualX::GetColorBits(Drawable_t /*wid*/, Int_t /*x*/, Int_t /*y*/,
2591 UInt_t /*w*/, UInt_t /*h*/)
2592{
2593 return nullptr;
2594}
2595
2596////////////////////////////////////////////////////////////////////////////////
2597/// create pixmap from RGB data. RGB data is in format:
2598///
2599/// ~~~ {.cpp}
2600/// b1, g1, r1, 0, b2, g2, r2, 0 ... bn, gn, rn, 0 ..
2601/// ~~~
2602///
2603/// Pixels are numbered from left to right and from top to bottom.
2604/// Note that data must be 32-bit aligned
2605
2606Pixmap_t TVirtualX::CreatePixmapFromData(unsigned char * /*bits*/, UInt_t /*width*/,
2607 UInt_t /*height*/)
2608{
2609 return (Pixmap_t)0;
2610}
2611
2612////////////////////////////////////////////////////////////////////////////////
2613/// The Non-rectangular Window Shape Extension adds non-rectangular
2614/// windows to the System.
2615/// This allows for making shaped (partially transparent) windows
2616
2620
2621////////////////////////////////////////////////////////////////////////////////
2622/// Returns the width of the screen in millimeters.
2623
2625{
2626 return 400;
2627}
2628
2629////////////////////////////////////////////////////////////////////////////////
2630/// Deletes the specified property only if the property was defined on the
2631/// specified window and causes the X server to generate a PropertyNotify
2632/// event on the window unless the property does not exist.
2633
2637
2638////////////////////////////////////////////////////////////////////////////////
2639/// Returns the actual type of the property; the actual format of the property;
2640/// the number of 8-bit, 16-bit, or 32-bit items transferred; the number of
2641/// bytes remaining to be read in the property; and a pointer to the data
2642/// actually returned.
2643
2645 Atom_t*, Int_t*, ULong_t*, ULong_t*, unsigned char**)
2646{
2647 return 0;
2648}
2649
2650////////////////////////////////////////////////////////////////////////////////
2651/// Changes the specified dynamic parameters if the pointer is actively
2652/// grabbed by the client and if the specified time is no earlier than the
2653/// last-pointer-grab time and no later than the current X server time.
2654
2658
2659////////////////////////////////////////////////////////////////////////////////
2660/// Requests that the specified selection be converted to the specified
2661/// target type.
2662
2666
2667////////////////////////////////////////////////////////////////////////////////
2668/// Changes the owner and last-change time for the specified selection.
2669
2674
2675////////////////////////////////////////////////////////////////////////////////
2676/// Alters the property for the specified window and causes the X server
2677/// to generate a PropertyNotify event on that window.
2678
2682
2683////////////////////////////////////////////////////////////////////////////////
2684/// Add XdndAware property and the list of drag and drop types to the
2685/// Window win.
2686
2690
2691////////////////////////////////////////////////////////////////////////////////
2692/// Add the list of drag and drop types to the Window win.
2693
2697
2698////////////////////////////////////////////////////////////////////////////////
2699/// Recursively search in the children of Window for a Window which is at
2700/// location x, y and is DND aware, with a maximum depth of maxd.
2701
2703{
2704 return kNone;
2705}
2706
2707////////////////////////////////////////////////////////////////////////////////
2708/// Checks if the Window is DND aware, and knows any of the DND formats
2709/// passed in argument.
2710
2715
2716////////////////////////////////////////////////////////////////////////////////
2717/// Start a modal session for a dialog window.
2718
2722
2723////////////////////////////////////////////////////////////////////////////////
2724/// Returns 1 if window system server supports extension given by the
2725/// argument, returns 0 in case extension is not supported and returns -1
2726/// in case of error (like server not initialized).
2727
2729{
2730 return -1;
2731}
2732
2733////////////////////////////////////////////////////////////////////////////////
2734/// Map the XftFont with the Graphics Context using it.
2735
2739
2740
Handle_t Atom_t
WM token.
Definition GuiTypes.h:38
Handle_t Region_t
Region handle.
Definition GuiTypes.h:33
Handle_t WinContext_t
Window drawing context.
Definition GuiTypes.h:30
EGEventType
Definition GuiTypes.h:60
@ kButtonPress
Definition GuiTypes.h:61
ECursor
Definition GuiTypes.h:373
Handle_t Pixmap_t
Pixmap handle.
Definition GuiTypes.h:31
Handle_t FontH_t
Font handle (as opposed to Font_t which is an index)
Definition GuiTypes.h:36
Handle_t Visual_t
Visual handle.
Definition GuiTypes.h:28
Handle_t Window_t
Window handle.
Definition GuiTypes.h:29
const Mask_t kDoRed
Definition GuiTypes.h:320
Handle_t Display_t
Display handle.
Definition GuiTypes.h:27
ULong_t Time_t
Event time.
Definition GuiTypes.h:43
Handle_t GContext_t
Graphics context handle.
Definition GuiTypes.h:39
EInitialState
Initial window mapping state.
Definition GuiTypes.h:346
Handle_t Drawable_t
Drawable handle.
Definition GuiTypes.h:32
Handle_t Cursor_t
Cursor handle.
Definition GuiTypes.h:35
const Handle_t kNone
Definition GuiTypes.h:89
@ kIsUnmapped
Definition GuiTypes.h:47
const Mask_t kDoGreen
Definition GuiTypes.h:321
const Mask_t kDoBlue
Definition GuiTypes.h:322
EMouseButton
Button names.
Definition GuiTypes.h:215
Handle_t Colormap_t
Colormap handle.
Definition GuiTypes.h:34
ULongptr_t Handle_t
Generic resource handle.
Definition GuiTypes.h:26
Handle_t FontStruct_t
Pointer to font structure.
Definition GuiTypes.h:40
#define d(i)
Definition RSha256.hxx:102
#define b(i)
Definition RSha256.hxx:100
#define g(i)
Definition RSha256.hxx:105
#define a(i)
Definition RSha256.hxx:99
#define h(i)
Definition RSha256.hxx:106
static Roo_reg_AGKInteg1D instance
cudaEvent_t event
short Style_t
Style number (short)
Definition RtypesCore.h:97
short Color_t
Color number (short)
Definition RtypesCore.h:100
unsigned char UChar_t
Unsigned Character 1 byte (unsigned char)
Definition RtypesCore.h:53
unsigned long ULong_t
Unsigned long integer 4 bytes (unsigned long). Size depends on architecture.
Definition RtypesCore.h:70
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
Definition RtypesCore.h:69
unsigned long ULongptr_t
Unsigned integer large enough to hold a pointer (platform-dependent)
Definition RtypesCore.h:91
short Width_t
Line width (short)
Definition RtypesCore.h:99
float Float_t
Float 4 bytes (float)
Definition RtypesCore.h:72
short Font_t
Font number (short)
Definition RtypesCore.h:96
short Short_t
Signed Short integer 2 bytes (short)
Definition RtypesCore.h:54
constexpr Bool_t kFALSE
Definition RtypesCore.h:109
constexpr Bool_t kTRUE
Definition RtypesCore.h:108
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void chupy
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t mask
Option_t Option_t SetLineWidth
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t dest_x
Option_t Option_t SetFillStyle
Option_t Option_t SetTextSize
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize wid
Option_t Option_t DrawFillArea
Option_t Option_t mgn
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t child
Option_t Option_t SetLineColor
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void chupx
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t SetTextFont
Option_t Option_t TPoint TPoint angle
Option_t Option_t TPoint xy
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void xpos
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t dest_y
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t attr
Option_t Option_t TPoint TPoint const char mode
Option_t Option_t TPoint TPoint const char y2
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t nchar
Option_t Option_t TPoint DrawPolyMarker
Option_t Option_t SetFillColor
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void CopyPixmap
Option_t Option_t TPoint TPoint const char DrawLine
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void ypos
Option_t Option_t SetMarkerStyle
Option_t Option_t TPoint TPoint percent
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t gval
Option_t Option_t TPoint TPoint DrawText
Option_t Option_t TPoint TPoint SetOpacity
Option_t Option_t TPoint TPoint const char text
Option_t Option_t TPoint TPoint const char y1
char name[80]
Definition TGX11.cxx:142
Atom_t gMOTIF_WM_HINTS
Definition TVirtualX.cxx:35
TVirtualX * gGXBatch
Definition TVirtualX.cxx:39
Atom_t gROOT_MESSAGE
Definition TVirtualX.cxx:36
Atom_t gWM_DELETE_WINDOW
Definition TVirtualX.cxx:34
R__EXTERN TVirtualX *(* gPtr2VirtualX)()
Definition TVirtualX.h:380
Fill Area Attributes class.
Definition TAttFill.h:21
Line Attributes class.
Definition TAttLine.h:21
Marker Attributes class.
Definition TAttMarker.h:22
Text Attributes class.
Definition TAttText.h:21
virtual void SetTextAngle(Float_t tangle=0)
Set the text angle.
Definition TAttText.h:49
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
SCoord_t fY
Definition TPoint.h:36
SCoord_t fX
Definition TPoint.h:35
Basic string class.
Definition TString.h:137
Dynamic handle to work with freetype 2 library.
Definition TTFhandle.h:21
Semi-Abstract base class defining a generic interface to the underlying, low level,...
Definition TVirtualX.h:47
virtual void FillRectangle(Drawable_t id, GContext_t gc, Int_t x, Int_t y, UInt_t w, UInt_t h)
Fills the specified rectangle defined by [x,y] [x+w,y] [x+w,y+h] [x,y+h].
virtual Bool_t AllocColor(Colormap_t cmap, ColorStruct_t &color)
Allocates a read-only colormap entry corresponding to the closest RGB value supported by the hardware...
virtual Int_t WriteGIF(char *name)
Writes the current window into GIF file.
virtual void DestroyWindow(Window_t id)
Destroys the window "id" as well as all of its subwindows.
virtual Window_t CreateOpenGLWindow(Window_t parentID, UInt_t width, UInt_t height, const std::vector< std::pair< UInt_t, Int_t > > &format)
Create window with special pixel format. Noop everywhere except Cocoa.
virtual void CopyPixmapW(WinContext_t wctxt, Int_t wid, Int_t xpos, Int_t ypos)
Copy pixmap to specified window.
virtual void DispatchClientMessage(UInt_t messageID)
Force processing of event, sent by SendEvent before.
virtual void GetGCValues(GContext_t gc, GCValues_t &gval)
Returns the components specified by the mask in "gval" for the specified GC "gc" (see also the GCValu...
virtual Handle_t GetCurrentOpenGLContext()
Asks OpenGL subsystem about the current OpenGL context.
virtual void DrawPolyLine(Int_t n, TPoint *xy)
Draws a line through all points in the list.
virtual void SetWindowHint(Window_t id, EWindowHint hint)
Alters the property for the specified window and causes the X server to generate a PropertyNotify eve...
virtual void SetWindowBackground(Window_t id, ULong_t color)
Sets the background of the window "id" to the specified color value "color".
virtual Int_t KeysymToKeycode(UInt_t keysym)
Converts the "keysym" to the appropriate keycode.
virtual void SetPrimarySelectionOwner(Window_t id)
Makes the window "id" the current owner of the primary selection.
virtual void DeleteImage(Drawable_t img)
Deallocates the memory associated with the image img.
void SetFillColor(Color_t cindex) override
Sets color index "cindex" for fill areas.
void SetMarkerStyle(Style_t markerstyle) override
Sets marker style.
virtual void DrawLinesSegments(Int_t n, TPoint *xy)
Draws N segments between provided points.
virtual void SetWMTransientHint(Window_t id, Window_t main_id)
Tells window manager that the window "id" is a transient window of the window "main_id".
virtual void SetTextMagnitude(Float_t mgn)
Sets the current text magnification factor to "mgn".
virtual void GetWindowSize(Drawable_t id, Int_t &x, Int_t &overridey, UInt_t &w, UInt_t &h)
Returns the location and the size of window "id".
virtual void MapRaised(Window_t id)
Maps the window "id" and all of its subwindows that have had map requests on the screen and put this ...
virtual void SetOpacity(Int_t percent)
Sets opacity of the current window.
virtual void DeleteFont(FontStruct_t fs)
Explicitly deletes the font structure "fs" obtained via LoadQueryFont().
virtual Pixmap_t CreateBitmap(Drawable_t id, const char *bitmap, UInt_t width, UInt_t height)
Creates a bitmap (i.e.
virtual void ConvertSelection(Window_t, Atom_t &, Atom_t &, Atom_t &, Time_t &)
Requests that the specified selection be converted to the specified target type.
virtual void DrawLineW(WinContext_t wctxt, Int_t x1, Int_t y1, Int_t x2, Int_t y2)
Draw line on specified window.
virtual void GrabPointer(Window_t id, UInt_t evmask, Window_t confine, Cursor_t cursor, Bool_t grab=kTRUE, Bool_t owner_events=kTRUE)
Establishes an active pointer grab.
virtual void ChangeActivePointerGrab(Window_t, UInt_t, Cursor_t)
Changes the specified dynamic parameters if the pointer is actively grabbed by the client and if the ...
virtual EDrawMode GetDrawModeW(WinContext_t wctxt)
Returns window draw mode.
virtual Int_t OpenPixmap(UInt_t w, UInt_t h)
Creates a pixmap of the width "w" and height "h" you specified.
virtual void UnmapWindow(Window_t id)
Unmaps the specified window "id".
virtual void SetRGB(Int_t cindex, Float_t r, Float_t g, Float_t b)
Sets color intensities the specified color index "cindex".
virtual void FreeFontStruct(FontStruct_t fs)
Frees the font structure "fs".
virtual Int_t AddPixmap(ULongptr_t pixid, UInt_t w, UInt_t h)
Registers a pixmap created by TGLManager as a ROOT pixmap.
virtual void PutImage(Drawable_t id, GContext_t gc, Drawable_t img, Int_t dx, Int_t dy, Int_t x, Int_t y, UInt_t w, UInt_t h)
Combines an image with a rectangle of the specified drawable.
EDrawMode GetDrawMode()
Definition TVirtualX.h:155
virtual void FillPolygon(Window_t id, GContext_t gc, Point_t *points, Int_t npnt)
Fills the region closed by the specified path.
virtual FontStruct_t GetGCFont(GContext_t gc)
Return the font associated with the graphics context gc.
virtual void XorRegion(Region_t rega, Region_t regb, Region_t result)
Calculates the difference between the union and intersection of two regions.
virtual void SetClipOFF(Int_t wid)
Turns off the clipping for the window "wid".
virtual void FlushOpenGLBuffer(Handle_t ctx)
Flushes OpenGL buffer.
virtual void DeleteOpenGLContext(Int_t wid=0)
Deletes OpenGL context for window "wid".
virtual Colormap_t GetColormap() const
Returns handle to colormap.
virtual FontStruct_t LoadQueryFont(const char *font_name)
Provides the most common way for accessing a font: opens (loads) the specified font and returns a poi...
virtual void SetTypeList(Window_t win, Atom_t prop, Atom_t *typelist)
Add the list of drag and drop types to the Window win.
virtual void DeleteProperty(Window_t, Atom_t &)
Deletes the specified property only if the property was defined on the specified window and causes th...
virtual Bool_t HasTTFonts() const
Returns True when TrueType fonts are used.
virtual Cursor_t CreateCursor(ECursor cursor)
Creates the specified cursor.
virtual void LookupString(Event_t *event, char *buf, Int_t buflen, UInt_t &keysym)
Converts the keycode from the event structure to a key symbol (according to the modifiers specified i...
virtual void DrawLinesSegmentsW(WinContext_t wctxt, Int_t n, TPoint *xy)
Draw line segments on specified window.
virtual void GrabButton(Window_t id, EMouseButton button, UInt_t modifier, UInt_t evmask, Window_t confine, Cursor_t cursor, Bool_t grab=kTRUE)
Establishes a passive grab on a certain mouse button.
virtual void DrawFillAreaW(WinContext_t wctxt, Int_t n, TPoint *xy)
Draw fill area on specified window.
virtual void RaiseWindow(Window_t id)
Raises the specified window to the top of the stack so that no sibling window obscures it.
virtual Float_t GetTextMagnitude()
Returns the current font magnification factor.
virtual void SetWindowBackgroundPixmap(Window_t id, Pixmap_t pxm)
Sets the background pixmap of the window "id" to the specified pixmap "pxm".
virtual void GetCharacterUp(Float_t &chupx, Float_t &chupy)
Returns character up vector.
virtual void DrawPolyMarkerW(WinContext_t wctxt, Int_t n, TPoint *xy)
Draw poly marker on specified window.
virtual void SelectInput(Window_t id, UInt_t evmask)
Defines which input events the window is interested in.
virtual Display_t GetDisplay() const
Returns handle to display (might be useful in some cases where direct X11 manipulation outside of TVi...
virtual Bool_t EqualRegion(Region_t rega, Region_t regb)
Returns kTRUE if the two regions have the same offset, size, and shape.
virtual void SetAttMarker(WinContext_t wctxt, const TAttMarker &att)
Set marker attributes for specified window.
virtual void SetAttLine(WinContext_t wctxt, const TAttLine &att)
Set line attributes for specified window.
virtual Bool_t CreatePictureFromData(Drawable_t id, char **data, Pixmap_t &pict, Pixmap_t &pict_mask, PictureAttributes_t &attr)
Creates a picture pict from data in bitmap format.
virtual void SetIconPixmap(Window_t id, Pixmap_t pix)
Sets the icon name pixmap.
virtual Bool_t SetSelectionOwner(Window_t, Atom_t &)
Changes the owner and last-change time for the specified selection.
virtual void SetClipRegion(Int_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h)
Sets clipping region for the window "wid".
virtual void GetImageSize(Drawable_t id, UInt_t &width, UInt_t &height)
Returns the width and height of the image id.
virtual Window_t GetDefaultRootWindow() const
Returns handle to the default root window created when calling XOpenDisplay().
virtual Bool_t EmptyRegion(Region_t reg)
Returns kTRUE if the region reg is empty.
virtual Int_t SupportsExtension(const char *ext) const
Returns 1 if window system server supports extension given by the argument, returns 0 in case extensi...
virtual void BeginModalSessionFor(Window_t window)
Start a modal session for a dialog window.
virtual void DeletePixmap(Pixmap_t pmap)
Explicitly deletes the pixmap resource "pmap".
virtual void SetClassHints(Window_t id, char *className, char *resourceName)
Sets the windows class and resource name.
virtual FontH_t GetFontHandle(FontStruct_t fs)
Returns the font handle of the specified font structure "fs".
virtual void DrawCellArray(Int_t x1, Int_t y1, Int_t x2, Int_t y2, Int_t nx, Int_t ny, Int_t *ic)
Draws a cell array.
virtual Bool_t Init(void *display=nullptr)
Initializes the X system.
virtual void ResizeWindow(Int_t wid)
Resizes the window "wid" if necessary.
virtual void SetDashes(GContext_t gc, Int_t offset, const char *dash_list, Int_t n)
Sets the dash-offset and dash-list attributes for dashed line styles in the specified GC.
virtual void SetAttFill(WinContext_t wctxt, const TAttFill &att)
Set fill attributes for specified window.
virtual void Warp(Int_t ix, Int_t iy, Window_t id=0)
Sets the pointer position.
virtual Int_t GetProperty(Window_t, Atom_t, Long_t, Long_t, Bool_t, Atom_t, Atom_t *, Int_t *, ULong_t *, ULong_t *, unsigned char **)
Returns the actual type of the property; the actual format of the property; the number of 8-bit,...
virtual void DrawRectangle(Drawable_t id, GContext_t gc, Int_t x, Int_t y, UInt_t w, UInt_t h)
Draws rectangle outlines of [x,y] [x+w,y] [x+w,y+h] [x,y+h].
virtual Drawable_t CreateImage(UInt_t width, UInt_t height)
Allocates the memory needed for an drawable.
virtual Int_t GetDoubleBuffer(Int_t wid)
Queries the double buffer value for the window "wid".
virtual void SetDoubleBuffer(Int_t wid, Int_t mode)
Sets the double buffer on/off on the window "wid".
virtual Int_t GetScreen() const
Returns screen number.
virtual void LowerWindow(Window_t id)
Lowers the specified window "id" to the bottom of the stack so that it does not obscure any sibling w...
virtual void CreateOpenGLContext(Int_t wid=0)
Creates OpenGL context for window "wid".
virtual void ClearArea(Window_t id, Int_t x, Int_t y, UInt_t w, UInt_t h)
Paints a rectangular area in the specified window "id" according to the specified dimensions with the...
virtual void MapSubwindows(Window_t id)
Maps all subwindows for the specified window "id" in top-to-bottom stacking order.
virtual void FreeFontNames(char **fontlist)
Frees the specified the array of strings "fontlist".
virtual Window_t GetInputFocus()
Returns the window id of the window having the input focus.
virtual void ClosePixmap()
Deletes current pixmap.
virtual void SetInputFocus(Window_t id)
Changes the input focus to specified window "id".
virtual void SetWMState(Window_t id, EInitialState state)
Sets the initial state of the window "id": either kNormalState or kIconicState.
virtual void Update(Int_t mode=0)
Flushes (mode = 0, default) or synchronizes (mode = 1) X output buffer.
virtual Int_t RequestLocator(Int_t mode, Int_t ctyp, Int_t &x, Int_t &y)
Requests Locator position.
virtual UInt_t ExecCommand(TGWin32Command *code)
Executes the command "code" coming from the other threads (Win32)
virtual void SendEvent(Window_t id, Event_t *ev)
Specifies the event "ev" is to be sent to the window "id".
virtual Int_t AddWindow(ULongptr_t qwid, UInt_t w, UInt_t h)
Registers a window created by Qt as a ROOT window.
virtual Int_t GetFontAscent() const
Returns the ascent of the current font (in pixels).
virtual void SetForeground(GContext_t gc, ULong_t foreground)
Sets the foreground color for the specified GC (shortcut for ChangeGC with only foreground mask set).
virtual void DrawBox(Int_t x1, Int_t y1, Int_t x2, Int_t y2, EBoxMode mode)
Draws a box between [x1,y1] and [x2,y2] according to the "mode".
virtual FontStruct_t GetFontStruct(FontH_t fh)
Retrieves the associated font structure of the font specified font handle "fh".
virtual Bool_t ReadPictureDataFromFile(const char *filename, char ***ret_data)
Reads picture data from file "filename" and store it in "ret_data".
virtual void SetDrawModeW(WinContext_t wctxt, EDrawMode mode)
Set window draw mode.
virtual void UpdateWindow(Int_t mode)
Updates or synchronises client and server once (not permanent).
virtual void SetCursor(Int_t win, ECursor cursor)
The cursor "cursor" will be used when the pointer is in the window "wid".
virtual void CopyGC(GContext_t org, GContext_t dest, Mask_t mask)
Copies the specified components from the source GC "org" to the destination GC "dest".
void SetFillStyle(Style_t style) override
Sets fill area style.
virtual void CloseWindow()
Deletes current window.
virtual void RescaleWindow(Int_t wid, UInt_t w, UInt_t h)
Rescales the window "wid".
virtual Int_t OpenDisplay(const char *dpyName)
Opens connection to display server (if such a thing exist on the current platform).
virtual Int_t SetTextFont(char *fontname, ETextSetMode mode)
Sets text font to specified name "fontname".This function returns 0 if the specified font is found,...
virtual Int_t RequestString(Int_t x, Int_t y, char *text)
Requests string: text is displayed and can be edited with Emacs-like keybinding.
virtual Int_t WriteGIFW(WinContext_t wctxt, const char *name)
Save specified window as GIF image.
virtual void GetTextExtent(UInt_t &w, UInt_t &h, char *mess)
Returns the size of the specified character string "mess".
virtual ULong_t GetPixel(Color_t cindex)
Returns pixel value associated to specified ROOT color number "cindex".
virtual void ChangeProperties(Window_t id, Atom_t property, Atom_t type, Int_t format, UChar_t *data, Int_t len)
Alters the property for the specified window and causes the X server to generate a PropertyNotify eve...
virtual void SetDNDAware(Window_t, Atom_t *)
Add XdndAware property and the list of drag and drop types to the Window win.
virtual void SetWMSizeHints(Window_t id, UInt_t wmin, UInt_t hmin, UInt_t wmax, UInt_t hmax, UInt_t winc, UInt_t hinc)
Gives the window manager minimum and maximum size hints of the window "id".
virtual void GetWindowAttributes(Window_t id, WindowAttributes_t &attr)
The WindowAttributes_t structure is set to default.
Definition TVirtualX.cxx:67
void SetTextSize(Float_t textsize) override
Sets the current text size to "textsize".
virtual Bool_t CreatePictureFromFile(Drawable_t id, const char *filename, Pixmap_t &pict, Pixmap_t &pict_mask, PictureAttributes_t &attr)
Creates a picture pict from data in file "filename".
virtual Bool_t ParseColor(Colormap_t cmap, const char *cname, ColorStruct_t &color)
Looks up the string name of a color "cname" with respect to the screen associated with the specified ...
Definition TVirtualX.cxx:90
virtual Int_t ResizePixmap(Int_t wid, UInt_t w, UInt_t h)
Resizes the specified pixmap "wid".
virtual Window_t FindRWindow(Window_t win, Window_t dragwin, Window_t input, int x, int y, int maxd)
Recursively search in the children of Window for a Window which is at location x, y and is DND aware,...
virtual void TranslateCoordinates(Window_t src, Window_t dest, Int_t src_x, Int_t src_y, Int_t &dest_x, Int_t &dest_y, Window_t &child)
Translates coordinates in one window to the coordinate space of another window.
virtual Double_t GetOpenGLScalingFactor()
On a HiDPI resolution it can be > 1., this means glViewport should use scaled width and height.
virtual void ReparentWindow(Window_t id, Window_t pid, Int_t x, Int_t y)
If the specified window is mapped, ReparentWindow automatically performs an UnmapWindow request on it...
virtual void DrawTextW(WinContext_t wctxt, Int_t x, Int_t y, Float_t angle, Float_t mgn, const char *text, ETextMode mode)
Draw text on specified window.
virtual void DrawSegments(Drawable_t id, GContext_t gc, Segment_t *seg, Int_t nseg)
Draws multiple line segments.
virtual void CloseDisplay()
Closes connection to display server and destroys all windows.
virtual void DeletePictureData(void *data)
Delete picture data created by the function ReadPictureDataFromFile.
static TVirtualX *& Instance()
Returns gVirtualX global.
Definition TVirtualX.cxx:57
virtual void UnionRegion(Region_t rega, Region_t regb, Region_t result)
Computes the union of two regions.
virtual void SetWindowName(Window_t id, char *name)
Sets the window name.
virtual void Bell(Int_t percent)
Sets the sound bell. Percent is loudness from -100% to 100%.
virtual void GetFontProperties(FontStruct_t font, Int_t &max_ascent, Int_t &max_descent)
Returns the font properties.
virtual Bool_t PointInRegion(Int_t x, Int_t y, Region_t reg)
Returns kTRUE if the point [x, y] is contained in the region reg.
virtual void CopyPixmap(Int_t wid, Int_t xpos, Int_t ypos)
Copies the pixmap "wid" at the position [xpos,ypos] in the current window.
virtual Pixmap_t CreatePixmap(Drawable_t id, UInt_t w, UInt_t h)
Creates a pixmap of the specified width and height and returns a pixmap ID that identifies it.
virtual void SetOpacityW(WinContext_t wctxt, Int_t percent)
Set opactity for specified window.
virtual Int_t GetFontDescent() const
Returns the descent of the current font (in pixels.
virtual void SetDoubleBufferOFF()
Turns double buffer mode off.
void SetLineColor(Color_t cindex) override
Sets color index "cindex" for drawing lines.
virtual void GetPlanes(Int_t &nplanes)
Returns the maximum number of planes.
virtual void SetKeyAutoRepeat(Bool_t on=kTRUE)
Turns key auto repeat on (kTRUE) or off (kFALSE).
virtual Bool_t GetFontAscentDescent(Font_t font, Double_t size, UInt_t &a, UInt_t &d, const char *mess)
Returns ascent/descent for specified character string "mess" with font and size.
void SetLineStyle(Style_t linestyle) override
Sets the line style.
virtual void DrawPolyMarker(Int_t n, TPoint *xy)
Draws "n" markers with the current attributes at position [x,y].
virtual void UpdateWindowW(WinContext_t wctxt, Int_t mode)
Update specified window.
virtual void SetWMSize(Window_t id, UInt_t w, UInt_t h)
Tells window manager the desired size of window "id".
virtual void ChangeWindowAttributes(Window_t id, SetWindowAttributes_t *attr)
Changes the attributes of the specified window "id" according the values provided in "attr".
virtual void GetRGB(Int_t index, Float_t &r, Float_t &g, Float_t &b)
Returns RGB values for color "index".
virtual void GetPasteBuffer(Window_t id, Atom_t atom, TString &text, Int_t &nchar, Bool_t del)
Gets contents of the paste buffer "atom" into the string "text".
virtual Handle_t GetNativeEvent() const
Returns the current native event handle.
virtual void DrawBoxW(WinContext_t wctxt, Int_t x1, Int_t y1, Int_t x2, Int_t y2, EBoxMode mode)
Draw box on specified window.
virtual void SetIconName(Window_t id, char *name)
Sets the window icon name.
virtual void Sync(Int_t mode)
Set synchronisation on or off.
virtual void SetClipRectangles(GContext_t gc, Int_t x, Int_t y, Rectangle_t *recs, Int_t n)
Sets clipping rectangles in graphics context.
void SetMarkerColor(Color_t cindex) override
Sets color index "cindex" for markers.
virtual void SetLineType(Int_t n, Int_t *dash)
Sets the line type.
virtual Region_t PolygonRegion(Point_t *points, Int_t np, Bool_t winding)
Returns a region for the polygon defined by the points array.
virtual void DestroySubwindows(Window_t id)
The DestroySubwindows function destroys all inferior windows of the specified window,...
virtual void SelectPixmap(Int_t qpixid)
Selects the pixmap "qpixid".
void SetTextAlign(Short_t talign=11) override
Sets the text alignment.
virtual Atom_t InternAtom(const char *atom_name, Bool_t only_if_exist)
Returns the atom identifier associated with the specified "atom_name" string.
virtual void WritePixmap(Int_t wid, UInt_t w, UInt_t h, char *pxname)
Writes the pixmap "wid" in the bitmap file "pxname".
virtual void UnionRectWithRegion(Rectangle_t *rect, Region_t src, Region_t dest)
Updates the destination region from a union of the specified rectangle and the specified source regio...
virtual void SetDoubleBufferON()
Turns double buffer mode on.
virtual void SetDrawMode(EDrawMode mode)
Sets the drawing mode.
virtual unsigned char * GetColorBits(Drawable_t wid, Int_t x=0, Int_t y=0, UInt_t w=0, UInt_t h=0)
Returns an array of pixels created from a part of drawable (defined by x, y, w, h) in format:
virtual void ChangeGC(GContext_t gc, GCValues_t *gval)
Changes the components specified by the mask in gval for the specified GC.
virtual const char * DisplayName(const char *=nullptr)
Returns hostname on which the display is opened.
virtual void ShapeCombineMask(Window_t id, Int_t x, Int_t y, Pixmap_t mask)
The Non-rectangular Window Shape Extension adds non-rectangular windows to the System.
virtual void DrawTTFglyphsW(WinContext_t wctxt, Int_t x, Int_t y, TTFhandle &handle, ETextMode mode)
Draw TTFglyphs on specified window Will be invoked only if HasTTFonts method returns true.
virtual Bool_t GetTextExtentA(Font_t font, Double_t size, UInt_t &w, UInt_t &h, const char *mess)
Returns the size of the specified character string "mess" for font and size.
virtual void DrawText(Int_t x, Int_t y, Float_t angle, Float_t mgn, const char *text, ETextMode mode)
Draws a text string using current font.
virtual Window_t GetPrimarySelectionOwner()
Returns the window id of the current owner of the primary selection.
virtual void IconifyWindow(Window_t id)
Iconifies the window "id".
virtual Window_t GetCurrentWindow() const
pointer to the current internal window used in canvas graphics
void SetLineWidth(Width_t width) override
Sets the line width.
virtual void CopyArea(Drawable_t src, Drawable_t dest, GContext_t gc, Int_t src_x, Int_t src_y, UInt_t width, UInt_t height, Int_t dest_x, Int_t dest_y)
Combines the specified rectangle of "src" with the specified rectangle of "dest" according to the "gc...
virtual void MoveResizeWindow(Window_t id, Int_t x, Int_t y, UInt_t w, UInt_t h)
Changes the size and location of the specified window "id" without raising it.
virtual char ** ListFonts(const char *fontname, Int_t max, Int_t &count)
Returns list of font names matching fontname regexp, like "-*-times-*".
virtual void DeleteGC(GContext_t gc)
Deletes the specified GC "gc".
virtual void ChangeProperty(Window_t id, Atom_t property, Atom_t type, UChar_t *data, Int_t len)
Alters the property for the specified window and causes the X server to generate a PropertyNotify eve...
virtual void NextEvent(Event_t &event)
The "event" is set to default event.
virtual void FreeColor(Colormap_t cmap, ULong_t pixel)
Frees color cell with specified pixel value.
virtual void QueryPointer(Int_t &ix, Int_t &iy)
Returns the pointer position.
virtual WinContext_t GetWindowContext(Int_t wid)
Get window drawing context Should remain valid until window exists.
virtual void SetCharacterUp(Float_t chupx, Float_t chupy)
Sets character up vector.
virtual void QueryColor(Colormap_t cmap, ColorStruct_t &color)
Returns the current RGB value for the pixel in the "color" structure.
void SetTextColor(Color_t cindex) override
Sets the color index "cindex" for text.
virtual void GetGeometry(Int_t wid, Int_t &x, Int_t &y, UInt_t &w, UInt_t &h)
Returns position and size of window "wid".
virtual Pixmap_t CreatePixmapFromData(unsigned char *bits, UInt_t width, UInt_t height)
create pixmap from RGB data.
virtual void GetRegionBox(Region_t reg, Rectangle_t *rect)
Returns smallest enclosing rectangle.
virtual void RemoveWindow(ULongptr_t qwid)
Removes the created by Qt window "qwid".
virtual Window_t GetParent(Window_t id) const
Returns the parent of the window "id".
virtual void DrawFillArea(Int_t n, TPoint *xy)
Fills area described by the polygon.
virtual void SetWMPosition(Window_t id, Int_t x, Int_t y)
Tells the window manager the desired position [x,y] of window "id".
virtual void DrawString(Drawable_t id, GContext_t gc, Int_t x, Int_t y, const char *s, Int_t len)
Each character image, as defined by the font in the GC, is treated as an additional mask for a fill o...
virtual void MapGCFont(GContext_t, FontStruct_t)
Map the XftFont with the Graphics Context using it.
virtual void DrawPolyLineW(WinContext_t wctxt, Int_t n, TPoint *xy)
Draw poly line on specified window.
virtual void DestroyRegion(Region_t reg)
Destroys the region "reg".
virtual void SubtractRegion(Region_t rega, Region_t regb, Region_t result)
Subtracts regb from rega and stores the results in result.
virtual void GrabKey(Window_t id, Int_t keycode, UInt_t modifier, Bool_t grab=kTRUE)
Establishes a passive grab on the keyboard.
virtual Int_t EventsPending()
Returns the number of events that have been received from the X server but have not been removed from...
virtual GContext_t CreateGC(Drawable_t id, GCValues_t *gval)
Creates a graphics context using the provided GCValues_t *gval structure.
virtual Int_t InitWindow(ULongptr_t window)
Creates a new window and return window number.
virtual Bool_t MakeOpenGLContextCurrent(Handle_t ctx, Window_t windowID)
Makes context ctx current OpenGL context.
void SetMarkerSize(Float_t markersize) override
Sets marker size index.
virtual UInt_t ScreenWidthMM() const
Returns the width of the screen in millimeters.
virtual void SetAttText(WinContext_t wctxt, const TAttText &att)
Set text attributes for specified window.
virtual void DrawLine(Int_t x1, Int_t y1, Int_t x2, Int_t y2)
Draws a line.
virtual void ClearWindowW(WinContext_t wctxt)
Clear specified window.
virtual Bool_t NeedRedraw(ULongptr_t tgwindow, Bool_t force)
Notify the low level GUI layer ROOT requires "tgwindow" to be updated.
virtual Window_t CreateWindow(Window_t parent, Int_t x, Int_t y, UInt_t w, UInt_t h, UInt_t border, Int_t depth, UInt_t clss, void *visual, SetWindowAttributes_t *attr, UInt_t wtype)
Creates an unmapped subwindow for a specified parent window and returns the created window.
virtual Visual_t GetVisual() const
Returns handle to visual.
virtual Pixmap_t ReadGIF(Int_t x0, Int_t y0, const char *file, Window_t id=0)
If id is NULL - loads the specified gif file at position [x0,y0] in the current window.
virtual Bool_t IsDNDAware(Window_t win, Atom_t *typelist)
Checks if the Window is DND aware, and knows any of the DND formats passed in argument.
virtual Int_t TextWidth(FontStruct_t font, const char *s, Int_t len)
Return length of the string "s" in pixels. Size depends on font.
virtual void ClearWindow()
Clears the entire area of the current window.
virtual void SelectWindow(Int_t wid)
Selects the window "wid" to which subsequent output is directed.
virtual void PutPixel(Drawable_t id, Int_t x, Int_t y, ULong_t pixel)
Overwrites the pixel in the image with the specified pixel value.
virtual Int_t GetDepth() const
Returns depth of screen (number of bit planes).
virtual Window_t GetWindowID(Int_t wid)
Returns the X11 window identifier.
virtual Bool_t CheckEvent(Window_t id, EGEventType type, Event_t &ev)
Check if there is for window "id" an event of type "type".
virtual void ConvertPrimarySelection(Window_t id, Atom_t clipboard, Time_t when)
Causes a SelectionRequest event to be sent to the current primary selection owner.
virtual void MoveWindow(Int_t wid, Int_t x, Int_t y)
Moves the window "wid" to the specified x and y coordinates.
virtual void WMDeleteNotify(Window_t id)
Tells WM to send message when window is closed via WM.
virtual void IntersectRegion(Region_t rega, Region_t regb, Region_t result)
Computes the intersection of two regions.
virtual Region_t CreateRegion()
Creates a new empty region.
virtual void MapWindow(Window_t id)
Maps the window "id" and all of its subwindows that have had map requests.
virtual void SetMWMHints(Window_t id, UInt_t value, UInt_t funcs, UInt_t input)
Sets decoration style.
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
const Int_t n
Definition legend1.C:16
ULong_t fPixel
color pixel value (index in color table)
Definition GuiTypes.h:312
UShort_t fRed
red component (0..65535)
Definition GuiTypes.h:313
UShort_t fGreen
green component (0..65535)
Definition GuiTypes.h:314
UShort_t fBlue
blue component (0..65535)
Definition GuiTypes.h:315
UShort_t fMask
mask telling which color components are valid
Definition GuiTypes.h:316
Event structure.
Definition GuiTypes.h:175
Graphics context structure.
Definition GuiTypes.h:225
Point structure (maps to the X11 XPoint structure)
Definition GuiTypes.h:357
Rectangle structure (maps to the X11 XRectangle structure)
Definition GuiTypes.h:362
Used for drawing line segments (maps to the X11 XSegments structure)
Definition GuiTypes.h:352
Attributes that can be used when creating or changing a window.
Definition GuiTypes.h:94
Window attributes that can be inquired.
Definition GuiTypes.h:115