Example: /ChartDirector/fontpie

Online Documentation   -   Statistics   -   FAQ   -   Plugin Parts (All, Dependencies)   -   Class hierarchy

New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1

The list of the   topics,   classes,   interfaces,   controls,   modules,   global methods by category,   global methods by name,   screenshots,   licenses   and   examples.

Platforms to show: All Mac Windows Linux Cross-Platform

/ChartDirector/fontpie


Required plugins for this example: MBS ChartDirector Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /ChartDirector/fontpie

This example is the version from Fri, 9th Feb 2023.

Project "fontpie.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class PicWindow Inherits Window
EventHandler Sub Open() // The data for the pie chart dim data(-1) as Double=array(25.0, 18, 15, 12, 8, 30, 35) // The labels for the pie chart dim labels(-1) as string=array("Labor", "Licenses", "Taxes", "Legal", "Insurance", "Facilities", "Production") // Create a PieChart object of size 480 x 300 pixels dim c as new CDPieChartMBS(480, 300) // Use a blue marble pattern as the background wallpaper, with a black border, // and 1 pixel 3D border effect c.setBackground(c.patternColor(FindFile("marble.png")), &h000000, 1) // Set the center of the pie at (150, 150) and the radius to 100 pixels c.setPieSize(150, 150, 100) // Add a title to the pie chart using Times Bold Italic/15 points/deep blue // (0x000080) as font, with a wood pattern as the title background dim t as CDTextBoxMBS t=c.addTitle("Project Cost Breakdown", "timesbi.ttf", 15, &h000080) t.setBackground(c.patternColor(FindFile("wood.png"))) // Draw the pie in 3D c.set3D // Add a legend box using Arial Bold Italic/11 points font. Use a pink marble // pattern as the background wallpaper, with a 1 pixel 3D border. The legend box // is top-right aligned relative to the point (465, 70) dim b as CDLegendBoxMBS b = c.addLegend(465, 70, true, "arialbi.ttf", 11) b.setBackground(c.patternColor(FindFile("marble2.png")), c.kTransparent, 1) b.setAlignment(c.kTopRight) // Set the default font for all sector labels to Arial Bold/8 pts/dark green // (0x008000). t=c.setLabelStyle("arialbd.ttf", 8, &h008000) // Set the pie data and the pie labels c.setData(data, labels) // Explode the 3rd sector c.setExplode(2, 40) // Use Arial Bold/12 pts/red as label font for the 3rd sector dim s as CDSectorMBS s=c.sector(2) t=s.setLabelStyle("arialbd.ttf", 12, &hff0000) // Use Arial/8 pts/deep blue as label font for the 5th sector. Add a background // box using the sector fill color (SameAsMainColor), with a black (0x000000) // edge and 2 pixel 3D border. s=c.sector(4) t=s.setLabelStyle("arial.ttf", 8, &h000080) t.setBackground(c.kSameAsMainColor, &h000000, 2) // Use Arial Italic/8 pts/light red (0xff9999) as label font for the 6th sector. // Add a dark blue (0x000080) background box with a 2 pixel 3D border. s=c.sector(0) t=s.setLabelStyle("ariali.ttf", 8, &hff9999) t.setBackground(&h000080, c.kTransparent, 2) // Use Times Bold Italic/8 pts/deep green (0x008000) as label font for 7th // sector. Add a yellow (0xFFFF00) background box with a black (0x000000) edge. s=c.sector(6) t=s.setLabelStyle("timesbi.ttf", 8, &h008000) t.setBackground(&hffff00,&h000000) // 2x for higher DPI displays c.setOutputOptions("bmpscale=2") // Output the chart pic = c.makeChartPicture End EventHandler
EventHandler Sub Paint(g As Graphics, areas() As REALbasic.Rect) If pic <> Nil Then // scale to window g.DrawPicture pic, 0, 0, g.Width, g.Height, 0, 0, pic.Width, pic.Height End If End EventHandler
Function FindFile(name as string) As FolderItem // Look for file in parent folders from executable on dim parent as FolderItem = app.ExecutableFile.Parent while parent<>Nil dim file as FolderItem = parent.Child(name) if file<>Nil and file.Exists then Return file end if parent = parent.Parent wend End Function
Property pic As Picture
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project

The items on this page are in the following plugins: MBS ChartDirector Plugin.


💬 Ask a question or report a problem