Demonstrates how to add borders to sectors, and to set background and border colors for the sector label text boxes.
This example demonstrates how to add borders to sectors, and to set background and border colors for the sector label text boxes.
- The sector borders are set using PieChart.setLineColor.
- The sector label background and border colors are set using the Box.setBackground method of the TextBox object representing the sector label prototype. This TextBox object is returned by the PieChart.setLabelStyle method.
- The background color is set to SameAsMainColor, which means the background color is the same as the corresponding sector fill color.
[The following project is available in "cppdemo/borderpie".]
#include "chartdir.h"
int main(int argc, char *argv[])
{
//The data for the pie chart
double data[] = {25, 18, 15, 12, 8, 30, 35};
//The labels for the pie chart
const char *labels[] = {"Labor", "Licenses", "Taxes", "Legal", "Insurance",
"Facilities", "Production"};
//Create a PieChart object of size 360 x 280 pixels
PieChart *c = new PieChart(360, 280);
//Set the background color of the chart to silver (silverGradient), and the
//border color to black, with 1 pixel 3D border effect.
c->setBackground(c->gradientColor(silverGradient), 0, 1);
//Set the center of the pie at (180, 140) and the radius to 100 pixels
c->setPieSize(180, 140, 100);
//Add a title to the pie chart, using light grey (0xc0c0c0) background and
//black border
c->addTitle("Project Cost Breakdown")->setBackground(0xc0c0c0, 0x0);
//Draw the pie in 3D
c->set3D();
//Set the border color of the sectors to black (0x0)
c->setLineColor(0x0);
//Set the background color of the sector label to the same color as the
//sector. Use a black border.
c->setLabelStyle()->setBackground(SameAsMainColor, 0x0);
//Set the pie data and the pie labels
c->setData(DoubleArray(data, sizeof(data)/sizeof(*data)), StringArray(
labels, sizeof(labels)/sizeof(*labels)));
//Explode the 1st sector (index = 0)
c->setExplode(0);
//output the chart
c->makeChart("borderpie.png");
//free up resources
delete c;
return 0;
}
|
© 2003 Advanced Software Engineering Limited. All rights reserved.