Pie

Desenha o sector de uma elipse inserida no retângulo com cantos em (x1,y1) e (x2,y2). Os limites do sector são cortados por linhas do centro da elipse que se estendem para dois pontos com as coordenadas (x3,y3) e (x4,Y4).

void  Pie(
   int         x1,      // coordenada X do canto superior esquerdo do retângulo
   int         y1,      // coordenada Y do canto superior esquerdo do retângulo
   int         x2,      // coordenada X do canto inferior direito do retângulo
   int         y2,      // coordenada Y do canto inferior direito do retângulo
   int         x3,      // coordenada X do primeiro ponto para encontrar os limites do arco
   int         y3,      // coordenada Y do primeiro ponto para encontrar os limites do arco
   int         x4,      // coordenada X do segundo ponto para encontrar os limites do arco
   int         y4,      // coordenada Y do segundo ponto para encontrar os limites do arco
   const uint  clr,     // cor de linha
   const uint  fill_clr // cor de preenchimento
   );

Parâmetros

x1

[in]  Coordenada X do canto superior esquerdo que define um retângulo.

y1

[in]  Coordenada Y do canto superior esquerdo que define um retângulo.

x2

[in]  Coordenada X do canto inferior direito que define um retângulo.

y2

[in]  Coordenada Y do canto inferior direito que define um retângulo.

x3

[in]  Coordenada X do primeiro ponto até ao qual é traçada a linha do centro do retângulo para encontrar os limites do arco.

y3

[in]  Coordenada Y do primeiro ponto até ao qual é traçada a linha do centro do retângulo para encontrar os limites do arco.

x4

[in]  Coordenada X do segundo ponto até ao qual é traçada a linha do centro do retângulo para encontrar os limites do arco.

y4

[in]  Coordenada Y do segundo ponto até ao qual é traçada a linha do centro do retângulo para encontrar os limites do arco.

clr

[in]  Cor de borda do sector em formato ARGB.

fill_clr

[in]  Cor de preenchimento do sector em formato ARGB. Para modificar a cor para o formato ARGB, use a função ColorToARGB().

 

Desenha o sector preenchido de uma elipse centrado em (x,y), inscrita num retângulo com raios rx e ry. Os limites do sector são cortados por linhas do centro da elipse determinadas pelos ângulos fi3 e fi4.

void  Pie(
   int         x,       // coordenada X do centro da elipse
   int         y,       // coordenada Y do centro da elipse
   int         rx,      // raio da elipse na coordenada X
   int         ry,      // raio da elipse na coordenada Y
   int         fi3,     // ângulo - da linha que parte do centro da elipse - que define o primeiro limite do arco
   int         fi4,     // ângulo - da linha que parte do centro da elipse - que define o segundo limite do arco
   const uint  clr,     // cor de linha
   const uint  fill_clr // cor de preenchimento
   );

Desenha o sector preenchido de uma elipse centrado em (x,y), inscrita num retângulo com raios rx e ry, e retorna as coordenadas dos limites do arco. Os limites do sector são cortados por linhas do centro da elipse determinadas pelos ângulos fi3 e fi4.

void  Pie(
   int         x,       // coordenada X do centro da elipse
   int         y,       // coordenada Y do centro da elipse
   int         rx,      // raio da elipse na coordenada X
   int         ry,      // raio da elipse na coordenada Y
   int         fi3,     // ângulo - da linha que parte do centro da elipse - que define o primeiro limite do arco
   int         fi4,     // ângulo - da linha que parte do centro da elipse - que define o segundo limite do arco
   int&        x3,      // coordenada X do primeiro limite do arco
   int&        y3,      // coordenada Y do primeiro limite do arco
   int&        x4,      // coordenada X do segundo limite do arco
   int&        y4,      // coordenada Y do segundo limite do arco
   const uint  clr,     // cor de linha
   const uint  fill_clr // cor de preenchimento
   );

Parâmetros

x

[in]  Coordenada X do centro da elipse.

y

[in]  Coordenada Y do centro da elipse.

rx

[in]  Raio da elipse na coordenada X, em pixels.

ry

[in]  Raio da elipse na coordenada X, em pixels.

fi3

[in]  Ângulo em radianos que define o primeiro limite do arco

fi4

[in]  Ângulo em radianos que define o segundo limite do arco

x3

[out] Variável para obter a coordenada X do primeiro limite do arco.

y3

[out] Variável para obter a coordenada Y do segundo limite do arco.

x4

[out] Variável para obter a coordenada X do segundo limite do arco.

y4

[out] Variável para obter a coordenada Y do segundo limite do arco.

clr

[in]  Cor de borda do sector em formato ARGB.

fill_clr

[in]  Cor de preenchimento do sector em formato ARGB. Para modificar a cor para o formato ARGB, use a função ColorToARGB().

Exemplos de chamadas de métodos de classe:

#include <Canvas\Canvas.mqh>
CCanvas canvas;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   int      Width=600;
   int      Height=400;
//--- create canvas
   if(!canvas.CreateBitmapLabel(0,0,"CirclesCanvas",30,30,Width,Height))
     {
      Print("Error creating canvas: ",GetLastError());
     }
//--- clear canvas
   canvas.Erase(clrWhite);
//--- draw rectangle
   canvas.Rectangle(215-190,215-120,215+190,215+120,clrGray);
//--- draw first pie
   canvas.Pie(215,215, 190,120,M_PI_4,2*M_PI-M_PI_4,ColorToARGB(clrBlue),ColorToARGB(clrRed));
//--- draw second pie
   canvas.Pie(215,215, 190,120,2*M_PI-M_PI_4,2*M_PI+M_PI_4,ColorToARGB(clrGreen),ColorToARGB(clrGreen));
//--- show updated canvas
   canvas.Update();   
   DebugBreak();
  }