Changeset 158 in Sophya for trunk/SophyaPI/PI/pigraphgen.cc


Ignore:
Timestamp:
Nov 16, 1998, 6:35:42 PM (27 years ago)
Author:
ercodmgr
Message:

1/ Mise en place des LayoutMgr pour les PIContainer avec ZoneLayout/ StackLayout
2/ Nouvelles methodes pour PIGraphic (DrawOval() DrawArc ...)
3/ Modifs ds PIGraphicX (preparation pour les GraphicBufferX)
4/ Petites modifs pour PIGraphic (HugeFontSize, etc...)
5/ Support pour titre de trace ds PIElDrawer -> PIScDrawer et PI3dDrawWdg
6/ Documentation(AutoDoc) PIGraphic PIBaseWdg ... Reza 16/11/98

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PI/pigraphgen.cc

    r147 r158  
    1717//      "PIGraphicWin" ou "PIGraphicUC" ou ...
    1818//      La classe "PIGraphicWin" a une implementation dépendante du système
    19 //      utilisé et sa
    20 //      "
    21 //      Un type particulier *PIGrCoord* permettant de passer les coordonnées
    22 //      graphiques en entier ("int") ou en flottant ("float").
    23 //--
    24 
    25 //
    26 //      "
    27 //      "
    28 //      "
    29 //      "
    30 //      "
    31 //      "
     19//      utilisé (Mac, XWindow, ...).
     20//      Un type particulier *PIGrCoord* est défini pour la spécification
     21//      des coordonnées graphiques.
     22//--
     23//++
     24// Links        Voir aussi
     25// PIGrCoord
     26// PIColorMap
     27//--
     28
     29//++
     30// Titre        Constructeurs
     31//--
     32//++
     33// PIGraphic()
     34//      Constructeur utilisé par les classes dérivées.
     35// PIGraphic(PIWdg* wdg)
     36//      Constructeur pour les *PIGraphicWin*. Objet "PIGraphic" capable
     37//      de tracer dans un "PIWdg".
     38//--
     39//++
     40//--
     41// Titre        Méthodes
     42//++
     43// int  kind()
     44//      Renvoie le type de l'objet "PIGraphic" .
     45//      * PI_ScrWindowGraphics : Objet PIGraphic associé à une fenêtre sur l'écran (PIWdg)
     46//      * PI_PSFileGraphics : Objet PIGraphic à un fichier PostScript (pour impression papier)
     47//      * PI_UCGraphics : Objet PIGraphic travaillant dans un système de coordonnées utilisateur.
     48//      * PI_3DGraphics : Objet PIGraphic fournissant des méthodes de tracé en coordonnées 3-D
     49// void  GetGrSpace(PIGrCoord& xmin, PIGrCoord& xmax, PIGrCoord& ymin, PIGrCoord& ymax)
     50//      Renvoie les limites de l'espace graphique - Coordonnées fenêtre pour un PIGraphicWin,
     51//      Limites définies par l'utilisateur pour un PIGraphicUC
     52// void  Erase(PIGrCoord x0, PIGrCoord y0, PIGrCoord dx, PIGrCoord dy)
     53//      Efface le rectangle défini par le coin "x0,y0", de longeur et de largeur "dx,dy"
     54//      en utilisant la couleur d'arrière plan (Background)
     55//--
     56
    3257
    3358/* --Methode-- */
     
    5277return PI_ScrWindowGraphics;
    5378}
     79
    5480
    5581/* --Methode-- */
     
    6389  }
    6490}
     91
     92//++
     93// Titre        Tracés de texte
     94//--
     95//++
     96// void  DrawString(PIGrCoord x, PIGrCoord y, const char* s, int pos = 0)
     97//      Trace la chaîne de caractères "s" à la position "x,y",
     98//      en utilisant la couleur d'avant-plan (Foreground)
     99// void  DrawOpaqueString(PIGrCoord x, PIGrCoord y, const char* s, int pos = 0)
     100//      Trace la chaîne de caractères "s" à la position "x,y" . La couleur d'
     101//      arrière-plan est utilisée pour remplir la zone rectangulaire occupée par
     102//      le tracé de texte.
     103//--
     104
     105//++
     106// Titre        Tracés de lignes et de figures géometriques
     107//--
     108//++
     109// void  DrawLine(PIGrCoord x1, PIGrCoord y1, PIGrCoord x2, PIGrCoord y2)
     110//      Trace une ligne entre les points de coordonnées "(x1,y1)" et "(x2,y2)",
     111//      en utilisant la couleur d'avant-plan (Foreground)
     112// void  DrawBox(PIGrCoord x0, PIGrCoord y0, PIGrCoord dx, PIGrCoord dy)
     113//      Tracé du contour d'un rectangle défini par la position du coin "(x0,y0)"
     114//      et de taille "dx,dy" avec la couleur d'avant-plan.
     115// void  DrawFBox(PIGrCoord x0, PIGrCoord y0, PIGrCoord dx, PIGrCoord dy)
     116//      Tracé d'un rectangle plein, défini par la position du coin "(x0,y0)"
     117//      et de taille "dx,dy" avec la couleur d'avant-plan.
     118// void  DrawCircle(PIGrCoord x0, PIGrCoord y0, PIGrCoord r) 
     119//      Tracé du contour d'un cercle centré en "(x0,y0)", de rayon "r"
     120// void  DrawFCircle(PIGrCoord x0, PIGrCoord y0, PIGrCoord r) 
     121//      Tracé d'un cercle plein centré en "(x0,y0)", de rayon "r"
     122// void  DrawOval(PIGrCoord x0, PIGrCoord y0, PIGrCoord dx, PIGrCoord dy)
     123//      Tracé d'une ellipse incluse dans le rectangle "(x0,y0)" , "dx,dy"
     124// void  DrawFOval(PIGrCoord x0, PIGrCoord y0, PIGrCoord dx, PIGrCoord dy)
     125//      Tracé d'une ellipse pleine incluse dans le rectangle "(x0,y0)" , "dx,dy"
     126// void  DrawPolygon(PIGrCoord *x, PIGrCoord *y, int n, bool cinc=true)
     127//      Tracé du contour d'un polygone défini par le tableau des "n" points "x,y".
     128//      Si "cinc==true", les coordonnées seront considérées comme relatives
     129//      à la position du point "(x[0], y[0])". Dans le cas contraire, chaque couple
     130//      "(x[i], y[i])" représentera les coordonnées absolues d'un coin du polygone.
     131// void  DrawFPolygon(PIGrCoord *x, PIGrCoord *y, int n, bool cinc=true)
     132//      Tracé d'un polygone plein de la couleur d'avant-plan.
     133// void  DrawArc(PIGrCoord x0, PIGrCoord y0, PIGrCoord dx, PIGrCoord dy, float degdeb, float degfin)
     134//      Tracé d'un arc de cercle ou d'ellipse, inclu dans le "(x0,y0)" , "dx,dy"
     135//      entre les angles (en degré) "degdeb" - "degfin"
     136// void  DrawFArc(PIGrCoord x0, PIGrCoord y0, PIGrCoord dx, PIGrCoord dy, float degdeb, float degfin)
     137//      Tracé d'un arc plein, inclu dans le "(x0,y0)" , "dx,dy"
     138//      entre les angles (en degré) "degdeb" - "degfin"
     139//--
     140
     141//++
     142// Titre        Tracés de signes
     143//--
     144//++
     145// void  DrawMarker(PIGrCoord x0, PIGrCoord y0) 
     146//      Tracé d'un signe au point "(x0,y0)". Le choix du signe tracé s'effectue
     147//      à travers la méthode "SelMarker()"
     148// void  DrawMarkers(PIGrCoord *x, PIGrCoord *y, int n)
     149//      Tracé de "n" signes aux points "(x[i],y[i])"
     150//--
     151
     152//++
     153// Titre        Tracé d'images (pixmap)
     154//--
     155//++
     156// void  DrawPixmap(PIGrCoord x, PIGrCoord y, unsigned char *pix, int sx, int sy, PIColorMap* cmap)
     157//      Tracé d'un pixmap dans un rectangle positionné en "(x,y)". Le tableau des pixels
     158//      "pix", de taille "sx,sy" représente les index dans la table de couleur "cmap".
     159//--
     160
     161//++
     162// Titre        Modifications des attributs graphiques 
     163//--
     164//++
     165// void  SelForeground(PIColors col=PI_Black)
     166//      Choix de la couleur de tracé d'avant-plan
     167//|     PI_Black , PI_White,  PI_Grey , PI_Red , PI_Blue , PI_Green , 
     168//|     PI_Yellow , PI_Magenta , PI_Cyan , PI_Turquoise , PI_NavyBlue ,
     169//|     PI_Orange , PI_SiennaRed , PI_Purple , PI_LimeGreen , PI_Gold
     170// void  SelBackground(PIColors col=PI_White)
     171//      Choix de la couleur d'arrière-plan
     172// void  SelForeground(PIColorMap& cmap, int cid)
     173//      Choix de la couleur de tracé d'avant-plan: Couleur numéro "cid" de la table de couleur "cmap"
     174// void  SelBackground(PIColorMap& cmap, int cid)
     175//      Choix de la couleur d'arrière-plan: Couleur numéro "cid" de la table de couleur "cmap"
     176// void  SelGOMode(PIGOMode mod=PI_GOCopy)
     177//      Choix du mode de tracé graphique: "PI_GOCopy" ou "PI_GOXOR"     
     178// void  SelFont(PIFontSize sz=PI_NormalSizeFont, PIFontAtt att=PI_RomanFont)
     179//      Choix de la fonte pour le tracé de texte
     180//|     PI_SmallSizeFont , PI_NormalSizeFont , PI_BigSizeFont, PI_HugeSizeFont
     181//|     PI_RomanFont , PI_BoldFont , PI_ItalicFont
     182// void  SelFontSzPt(int npt=12, PIFontAtt att=PI_RomanFont)
     183//      Choix de la fonte avec spécification de taille en points (pixels sur l'écran)
     184// void  SelLine(PILineAtt att=PI_NormalLine)
     185//      Choix du type de ligne pour le tracé des lignes et contours
     186//|     PI_NormalLine, PI_ThinLine , PI_ThickLine
     187//|     PI_DashedLine, PI_ThinDashedLine , PI_ThickDashedLine
     188// void  SelMarker(int msz=3, PIMarker mrk=PI_DotMarker)
     189//      Choix de la taille et du type de signe pour "DrawMarker() / DrawMarkers()"
     190//|     PI_DotMarker , PI_PlusMarker , PI_CrossMarker
     191//|     PI_CircleMarker , PI_FCircleMarker , PI_BoxMarker , PI_FBoxMarker
     192//|     PI_TriangleMarker , PI_FTriangleMarker , PI_StarMarker , PI_FStarMarker
     193//      (Les "StarMaker" ne sont pas encore implémentés  11/98)
     194//--
     195
     196//++
     197// Titre        Sélection de la zone de tracé (clip)   
     198//--
     199//++
     200// void  SetClipRectangle(PIGrCoord x0, PIGrCoord y0, PIGrCoord dx, PIGrCoord dy)
     201//      Limite la zone de tracé permise au rectangle "(x0,y0)", "dx,dy"
     202// void  ClearClipRectangle()
     203//      Supprime si nécéssaire la limitation de la zone de tracé.       
     204//--
     205
     206//++
     207// Titre        Accès aux attributs graphiques
     208//--
     209//++
     210// PIColors  GetForeground()
     211//      Renvoie la couleur de tracé d'avant-plan courante.
     212//      ("PI_ColorFromMap" si défini à partir d'une table de couleur
     213// PIColors  GetBackground()
     214//      Renvoie la couleur d'arrière-plan courante.
     215// PIGOMode  GetGOMode()
     216//      Renvoie le mode de tracé graphique courante.
     217// PIFontAtt GetFontAtt()
     218//      Renvoie les attributs de la fonte courante.
     219// int GetFontSize()
     220//      Renvoie la taille de la fonte courante.
     221// PILineAtt GetLineAtt()
     222//      Renvoie le type de ligne courant
     223// PIMarker  GetMarker()
     224//      Renvoie le type de signe (Marker) courant
     225// int GetMarkerSize()
     226//      Renvoie la taille des signes (Marker) pour le marker courant
     227// int GetFontHeight(int& asc, int& desc)
     228//      Renvoie la hauteur des caractères, ainsi que la taille au dessus
     229//      et en-dessous de la ligne de base ("asc , desc") pour la fonte courante
     230// PIGrCoord CalcStringWidth(char const* s)
     231//      Renvoie la largeur occupé par un texte s'il était affiché dans le
     232//      système de coordonnées courant (Fenêtre ou UC).
     233//--
     234
     235//++
     236// Titre        Sauvegarde et rappel des attributs graphiques
     237//--
     238//++
     239// void  SaveGraphicAtt()
     240//      Sauvegarde des attributs graphiques courants
     241// void  RestoreGraphicAtt()
     242//      Utilisation de l'ensemble des attributs graphiques sauvegardés par un appel
     243//      à "SaveGraphicAtt()"
     244//--
     245
    65246
    66247/* --Methode-- */
     
    89270  return;
    90271}
     272
     273
     274
     275
     276//++
     277// Class        PIGrCoord
     278// Lib          PI
     279// include      pigraphgen.h
     280//
     281//      Classe utilisé pour la spécifiaction de coordonnées graphique.
     282//      Des constructeurs et des méthodes de conversion à partir
     283//      et vers des "int", "float" et "double" sont définis.
     284//      L'objet conserve le type effectif de l'argument lors de la
     285//      création ou de la dernière affectation.
     286//
     287//|     PIGrCoord gco;
     288//|     gco = 3.141596 ;
     289//|     int ic = gco;     // ic -> 3
     290//|     float fc = gco;   // fc -> 3.141596
     291//--
     292//++
     293// Links        Voir aussi
     294// PIGraphic
     295//--
     296
     297//++
     298// Titre        Constructeurs
     299//--
     300//++
     301//
     302// PIGrCoord()
     303//      Constructeur par défaut ("intVal=floatVal=0")
     304// PIGrCoord(int a)
     305//      Constructeur à partir de l'entier "a"
     306// PIGrCoord(float a)
     307//      Constructeur à partir de la valeur flottante "a"
     308// PIGrCoord(double a)
     309//      Constructeur à partir de la valeur flottante double précision "a"
     310//--
     311//++
     312// Titre        Opérateurs de conversion
     313//--
     314//++
     315// operator int()
     316//      Conversion en entier "int"
     317// operator short()
     318//      Conversion en entier "short"
     319// operator unsigned int()
     320//      Conversion en entier non signé "unsigned int"
     321// operator unsigned short()
     322//      Conversion en entier non signé "unsigned short"
     323// operator float()
     324//      Conversion en réél "float"
     325//--
     326//++
     327// Titre        Opérateurs d'affectation
     328//--
     329//++
     330// PIGrCoord& operator= (int a)
     331//      Affectation à partir de valeur entière "int"
     332// PIGrCoord& operator= (float a)
     333//      Affectation à partir de valeur réélle "float"
     334// PIGrCoord& operator= (double a)
     335//      Affectation à partir de valeur réélle double précision "double"
     336//--
Note: See TracChangeset for help on using the changeset viewer.