Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.2 KiB

  1. #ifndef _select_h_
  2. #define _select_h_
  3. /*
  4. ** Copyright 1991, Silicon Graphics, Inc.
  5. ** All Rights Reserved.
  6. **
  7. ** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  8. ** the contents of this file may not be disclosed to third parties, copied or
  9. ** duplicated in any form, in whole or in part, without the prior written
  10. ** permission of Silicon Graphics, Inc.
  11. **
  12. ** RESTRICTED RIGHTS LEGEND:
  13. ** Use, duplication or disclosure by the Government is subject to restrictions
  14. ** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  15. ** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  16. ** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  17. ** rights reserved under the Copyright Laws of the United States.
  18. **
  19. ** $Revision: 1.3 $
  20. ** $Date: 1992/10/13 14:13:28 $
  21. */
  22. #include "types.h"
  23. typedef struct __GLselectMachineRec {
  24. /*
  25. ** This is true when the last primitive to execute hit (intersected)
  26. ** the selection box. Whenever the name stack is manipulated this
  27. ** bit is cleared.
  28. */
  29. GLboolean hit;
  30. /*
  31. ** Name stack.
  32. */
  33. GLuint *stack;
  34. GLuint *sp;
  35. /*
  36. ** The user specified result array overflows, this bit is set.
  37. */
  38. GLboolean overFlowed;
  39. /*
  40. ** User specified result array. As primitives are processed names
  41. ** will be entered into this array.
  42. */
  43. GLuint *resultBase;
  44. /*
  45. ** Current pointer into the result array.
  46. */
  47. GLuint *result;
  48. /*
  49. ** The number of GLint's that the array can hold.
  50. */
  51. GLint resultLength;
  52. /*
  53. ** Number of hits
  54. */
  55. GLint hits;
  56. /*
  57. ** Pointer to z values for last hit.
  58. */
  59. GLuint *z;
  60. } __GLselectMachine;
  61. extern void __glSelectHit(__GLcontext *gc, __GLfloat z);
  62. #ifdef NT
  63. extern void FASTCALL __glSelectLine(__GLcontext *gc, __GLvertex *a, __GLvertex *b, GLuint flags);
  64. #else
  65. extern void FASTCALL __glSelectLine(__GLcontext *gc, __GLvertex *a, __GLvertex *b);
  66. #endif
  67. extern void FASTCALL __glSelectPoint(__GLcontext *gc, __GLvertex *v);
  68. extern void FASTCALL __glSelectTriangle(__GLcontext *gc, __GLvertex *a, __GLvertex *b,
  69. __GLvertex *c);
  70. #endif