### 2D Graphics Libraries

#### TCanvas

- The following sequence produced a `SEG FAULT`:

         root [0] TFile f("can.root")
         root [1] TCanvas* can = (TCanvas*)f.Get("can")
         root [2] gROOT->SetBatch(1)
         root [3] can->Draw()

- Make sure the inspector canvas background is white.

#### TGraphPainter

- New option E5. It draws boxes for the errors like option E2 but in addition it allows to draw the border of the boxes.

#### TSVG - TPDF

- When saving canvas as an svg image, the "times" character (i. e. in "x10^3" statement above axis) was saved as utf "̄" (combining macron) whereas it schould be "×" (multiplication sign). It is now fixed.
- `TSVG::Open` and `TPDF::Open` now check if the output file was successfully opened.

#### TText

- `TText::GetBoundingBox` now returns 0 when the string is empty. Previously it returned undefined numbers.

#### TLegend

- Rewrite `TLegend::GetEntry()` to take the number of columns in the legend into account. The previous version considered there was always only one column in a `TLegend`.

#### TPaveLabel

- The following macro entered an infinite loop:

         {
            int x[10], y[10]; int i;
            for(i = 0; i < 10; i++) {x[i] = 10*i;y[i] = i;}
            TGraph *gr = new TGraph(10,x,y);
            gr->Draw("AL");
            TPaveLabel *hello = new TPaveLabel(0.2,0.4,0.8,0.6,"Hello World");
            hello->Draw();
         }

#### iOS module

- New module 'ios' was added into graf2d to make it possible to use ROOT's graphics on iOS devices (iPad, iPhone, iPod touch). Among other things, it has the ROOT::iOS::Pad class, which is a version of TPad for iOS (pad with TF2 example below).
  Two applications, based on this module, were developed for iOS (currently, for iPad only): "Tutorials" and "RootBrowser". They can be found in $ROOTSYS/test/ios.
- "Tutorials" app
  Small application with several demos, "iOS version" of the $ROOTSYS/tutorlas/demos.C.
  "Tutorials" application:
  - supports portrait and landscape orientation
  - has several demos (can be selected by tapping on table's cells)
  - supports different gestures (pinch, single and double tap, pan, etc. - active gestures are shown by hint icons)
  - has "zoom" mode - pinch or double tap gesture will zoom in/out pad's contents
  - has "selection" mode - with single tap user can select different objects inside pad - axes, histograms, pavestats etc.; 3D objects can be rotated.
  - has a simple editor to modify pad's parameters : fill color, logarithmic scale, grid, ticks, etc.
- "RootBrowser" app

  This application is a simplified version of TBrowser and TCanvas for iOS. User can open ROOT's file (application uses TWebFile) and browse file's contents.

  RootBrower registers *.root file extension in a system, so for example, attached root files from a mail client can be opened by RootBrowser.

  Application has several views. In a top level view, user can see opened files, open new files, close files (long press gesture on a file icon):

  Tap gesture on a file's icon will open "File contents" view. This view shows objects and nested directories. For objects small previews are generated. Tapping on a directory's icon will open new view with directory's contents. Simple search is supported (in the current TDirectoryFile).

  Tap on a object's preview will open detailed view for this object. Using pinch gesture or double tap, you can zoom in/zoom out pad's contents.

  If you have several objects in a file or directory, you can navigate through directory contents by using swipe gesture, scrolling your objects.

  It's possible to modify properties of objects the same way you can do it in TCanvas - RootBrowser has an editor. After you press "Edit" button, you can pick histogram, axis, frame, pavestats, etc. in a pad and modify its properties in the editor (selected object is highlihgted in a pad).

  At the moment, there are editors for:

  - TH1 objects
  - TGraph objects
  - Objects derived from TAttLine (line attributes)
  - Objects derived from TAttFill (filled area attributes)
  - Pad object (fill properties, log scales, ticks, grid)
  - Markers

  Using pan gesture along the selected axis, you can change the axis range - "zoom".

  Modified object can be saved locally (in application's directory) and sent as an e-mail attachment ("Save" functionality will be improved soon).