Function:xs2ap

From S2PLOT

(Difference between revisions)
Jump to: navigation, search
Revision as of 05:21, 22 November 2007
S2plot admin (Talk | contribs)

← Previous diff
Revision as of 05:22, 22 November 2007
S2plot admin (Talk | contribs)

Next diff →
Line 1: Line 1:
==xs2ap== ==xs2ap==
- +Add a new panel
- +
==Prototype== ==Prototype==
<code><pre> <code><pre>
- +int xs2ap(float x1, float y1, float x2, float y2);
</pre></code> </pre></code>
==Description== ==Description==
- +Add a new panel to the S2PLOT window. The panel goes from (x1,y1) to (x2,y2) where these are fractions of the window coordinates. Individual panels can be activated and deactivated by providing the panel id to the toggle function.
- +
== See Also == == See Also ==
<table> <table>
- +<tr><td>[[Function:xs2ap | xs2ap]]</td><td>Add a new panel</td><td> </td></tr>
 +<tr><td>[[Function:xs2cp | xs2cp]]</td><td>Select a panel for subsequent geometry calls</td><td> </td></tr>
 +<tr><td>[[Function:xs2mp | xs2mp]]</td><td>Modify location of existing panel</td><td> </td></tr>
 +<tr><td>[[Function:xs2tp | xs2tp]]</td><td>Toggle visibility of panel</td><td> </td></tr>
 +<tr><td>[[Function:xs2lpc | xs2lpc]]</td><td>Link panel cameras together</td><td> </td></tr>
</table> </table>
- 
==Code Example== ==Code Example==

Revision as of 05:22, 22 November 2007

xs2ap

Add a new panel

Prototype

int xs2ap(float x1, float y1, float x2, float y2);

Description

Add a new panel to the S2PLOT window. The panel goes from (x1,y1) to (x2,y2) where these are fractions of the window coordinates. Individual panels can be activated and deactivated by providing the panel id to the toggle function.

See Also

xs2apAdd a new panel
xs2cpSelect a panel for subsequent geometry calls
xs2mpModify location of existing panel
xs2tpToggle visibility of panel
xs2lpcLink panel cameras together

Code Example

#include <stdio.h>
#include <stdlib.h>
#include "s2plot.h"

/* Global variales used in callback */
int master_panel = 0;                   /* Default ID of main panel */
int slave_panel;                        /* ID of newly created panel */

void cb(double *t, int *kc)
{
   static int lkc = 0;                  /* Keep count of keypress state */
   if (*kc == 1) {
      xs2lpc(master_panel, slave_panel);        /* Link panels together */
   } else if ((*kc > 1) && (*kc != lkc)) {
      xs2tp(slave_panel);               /* Toggle panel visiblity */
   }

   lkc = *kc;                           /* Update count of keypress state */
}


int main(int argc, char *argv[])
{
   s2opend("/s2mono", argc, argv);              /* Open in mono mode */
   s2swin(-1.,1., -1.,1., -1.,1.);              /* Set the window coordinates */
   s2box("BCDET",0,0,"BCDET",0,0,"BCDET",0,0);  /* Draw coordinate box */

   xs2mp(master_panel, 0.0, 0.5, 0.5, 1.0);     /* Move to top left */

   slave_panel = xs2ap(0.5, 0.0, 1.0, 0.5);     /* Create panel in bottom right */
   xs2cp(slave_panel);                          /* Choose this panel */
   s2swin(-2.,2., -2.,2., -2.,2.);              /* Set the window coordinates */
   s2box("BCDE",0,0,"BCDE",0,0,"BCDE",0,0);     /* Draw coordinate box */

   xs2cp(master_panel);                         /* Go back to main panel */
   cs2scb(cb);                                  /* Install dynamic callback */

   fprintf(stderr,"Press <tab> to switch between panels\n");
   fprintf(stderr,"Press <spacebar> to link cameras together - cannot be undone\n");
   fprintf(stderr,"Futher presses of <spacebar> toggle panel visiblity\n");

   s2show(1);                                   /* Open the s2plot window */

   return 1;
}

Back to S2PLOT function list.


Personal tools