Function:ss2qsd
From S2PLOT
(Difference between revisions)
Revision as of 02:48, 23 November 2007 S2plot admin (Talk | contribs) ← Previous diff |
Current revision S2plot admin (Talk | contribs) |
||
Line 1: | Line 1: | ||
- | ==ss2qas== | + | ==ss2qsd== |
- | Query the autospin state. | + | Query the screen panel dimensions. |
==Prototype== | ==Prototype== | ||
<code><pre> | <code><pre> | ||
- | int ss2qas(void); | + | void ss2qsd(int *x, int *y); |
</pre></code> | </pre></code> | ||
==Description== | ==Description== | ||
- | Query the autospin state. | + | Query the screen panel width (x) and height (y) in pixels. |
== See Also == | == See Also == | ||
<table> | <table> | ||
- | <tr><td>[[Function:ss2sas | ss2sas]]</td><td>Start/Stop the camera rotation..</td><td> </td></tr> | + | <tr><td>[[Function:s2open | s2open]]</td><td>Open the S2PLOT device. </td></tr> |
+ | <tr><td>[[Function:s2opend | s2opend]]</td><td>Open the S2PLOT device (device string version). </td></tr> | ||
+ | <tr><td>[[Function:s2opendo | s2opendo]]</td><td>Open the S2PLOT device (device string version, ignoring command line arguments). </td></tr> | ||
+ | <tr><td>[[Function:s2ldev | s2ldev]]</td><td>List the available S2PLOT devices on stdout. </td></tr> | ||
</table> | </table> | ||
Line 24: | Line 27: | ||
void cb(double *t, int *kc) | void cb(double *t, int *kc) | ||
{ | { | ||
- | static int lkc = 0; /* Count of key presses */ | + | int x, y; /* Pixel width and height */ |
- | + | ss2qsd(&x, &y); /* Query screen dimensions */ | |
- | ss2sss(50.0); /* Fast spinning! */ | + | |
- | if (lkc != *kc) { /* Space bar pressed? */ | + | |
- | if (drand48() > 0.5) ss2sas(1); /* Random auto spin state */ | + | |
- | else ss2sas(0); | + | |
- | } | + | |
- | + | ||
- | float qas = ss2qas(); /* Query autospin state */ | + | |
char string[32]; | char string[32]; | ||
- | + | sprintf(string,"dimensions = (%d,%d)",x,y); /* Write to string */ | |
- | if (qas == 0) | + | |
- | sprintf(string,"Not spinning"); /* Write to string */ | + | |
- | else | + | |
- | sprintf(string,"Whee...."); /* Write to string */ | + | |
- | + | ||
s2textxy(0,0,0,string); /* Display text */ | s2textxy(0,0,0,string); /* Display text */ | ||
- | |||
- | lkc = *kc; /* Update count */ | ||
} | } | ||
- | |||
int main(int argc, char *argv[]) | int main(int argc, char *argv[]) | ||
{ | { | ||
+ | fprintf(stderr,"Resize window to see change in panel size"); | ||
- | fprintf(stderr,"Press <spacebar> to randomly change autospin state \n"); | + | s2opend("/s2mono", argc, argv); /* Open in mono mode */ |
- | s2opend("/s2mono",argc, argv); /* Open the display: mono */ | + | |
s2swin(-1.,1., -1.,1., -1.,1.); /* Set the window coordinates */ | s2swin(-1.,1., -1.,1., -1.,1.); /* Set the window coordinates */ | ||
+ | s2box("BCDET",0,0,"BCDET",0,0,"BCDET",0,0); /* Draw coordinate box */ | ||
cs2scb(cb); /* Install dynamic callback */ | cs2scb(cb); /* Install dynamic callback */ | ||
s2show(1); /* Open the s2plot window */ | s2show(1); /* Open the s2plot window */ | ||
- | + | ||
return 1; | return 1; | ||
} | } |
Current revision
ss2qsd
Query the screen panel dimensions.
Prototype
void ss2qsd(int *x, int *y);
Description
Query the screen panel width (x) and height (y) in pixels.
See Also
s2open | Open the S2PLOT device. |
s2opend | Open the S2PLOT device (device string version). |
s2opendo | Open the S2PLOT device (device string version, ignoring command line arguments). |
s2ldev | List the available S2PLOT devices on stdout. |
Code Example
#include <stdio.h>
#include <stdlib.h>
#include "s2plot.h"
void cb(double *t, int *kc)
{
int x, y; /* Pixel width and height */
ss2qsd(&x, &y); /* Query screen dimensions */
char string[32];
sprintf(string,"dimensions = (%d,%d)",x,y); /* Write to string */
s2textxy(0,0,0,string); /* Display text */
}
int main(int argc, char *argv[])
{
fprintf(stderr,"Resize window to see change in panel size");
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 */
cs2scb(cb); /* Install dynamic callback */
s2show(1); /* Open the s2plot window */
return 1;
}
Back to S2PLOT function list.