1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
/*
A* -------------------------------------------------------------------
B* This file contains source code for the PyMOL computer program
C* copyright 1998-2000 by Warren Lyford Delano of DeLano Scientific.
D* -------------------------------------------------------------------
E* It is unlawful to modify or remove this copyright notice.
F* -------------------------------------------------------------------
G* Please see the accompanying LICENSE file for further information.
H* -------------------------------------------------------------------
I* Additional authors of this source file include:
-*
-*
-*
Z* -------------------------------------------------------------------
*/
#ifndef _H_Ortho
#define _H_Ortho
#define cOrthoSHIFT 1
#define cOrthoCTRL 2
#define cOrthoALT 4
#define cOrthoRightSceneMargin DIP2PIXEL(220)
#define cOrthoBottomSceneMargin DIP2PIXEL(18)
#define cOrthoLineHeight DIP2PIXEL(12)
#include <string>
#include"os_gl.h"
#include"Block.h"
#include"Feedback.h"
#include"Deferred.h"
#include"Image.h"
#include"pymol/memory.h"
#include"PyMOLEnums.h"
#define cOrthoScene 1
#define cOrthoTool 2
#define cOrthoHidden 3
int OrthoInit(PyMOLGlobals * G, int showSplash);
void OrthoFree(PyMOLGlobals * G);
void OrthoAttach(PyMOLGlobals * G, Block * block, int type);
void OrthoDetach(PyMOLGlobals * G, Block * block);
void OrthoReshape(PyMOLGlobals * G, int width, int height, int force);
int OrthoGetWidth(PyMOLGlobals * G);
int OrthoGetHeight(PyMOLGlobals * G);
void OrthoDoDraw(PyMOLGlobals * G, OrthoRenderMode render_mode);
void OrthoDoViewportWhenReleased(PyMOLGlobals *G);
void OrthoPushMatrix(PyMOLGlobals * G);
void OrthoPopMatrix(PyMOLGlobals * G);
int OrthoGetPushed(PyMOLGlobals * G);
int OrthoButton(PyMOLGlobals * G, int button, int state, int x, int y, int mod);
int OrthoButtonDefer(PyMOLGlobals * G, int button, int state, int x, int y, int mod);
void OrthoKey(PyMOLGlobals * G, unsigned char k, int x, int y, int mod);
void OrthoAddOutput(PyMOLGlobals * G, const char *str);
void OrthoNewLine(PyMOLGlobals * G, const char *prompt, int crlf);
int OrthoDrag(PyMOLGlobals * G, int x, int y, int mod);
void OrthoGrab(PyMOLGlobals * G, Block * block);
int OrthoGrabbedBy(PyMOLGlobals * G, Block * block);
void OrthoUngrab(PyMOLGlobals * G);
void OrthoSetLoopRect(PyMOLGlobals * G, int flag, BlockRect * rect);
void OrthoRestorePrompt(PyMOLGlobals * G);
void OrthoBusyDraw(PyMOLGlobals * G, int force);
void OrthoDirty(PyMOLGlobals * G);
int OrthoGetDirty(PyMOLGlobals * G);
void OrthoClear(PyMOLGlobals * G);
void OrthoFakeDrag(PyMOLGlobals * G);
void OrthoBusyMessage(PyMOLGlobals * G, const char *message);
void OrthoBusySlow(PyMOLGlobals * G, int progress, int total);
void OrthoBusyFast(PyMOLGlobals * G, int progress, int total);
void OrthoBusyPrime(PyMOLGlobals * G);
void OrthoCommandSetBusy(PyMOLGlobals * G, int busy);
void OrthoCommandIn(COrtho&, const char *buffer);
inline void OrthoCommandIn(PyMOLGlobals * G, const char *buffer){
OrthoCommandIn(*G->Ortho, buffer);
}
std::string OrthoCommandOut(COrtho& ortho);
void OrthoCommandNest(PyMOLGlobals * G, int dir);
bool OrthoCommandIsEmpty(COrtho& ortho);
void OrthoFeedbackIn(COrtho& ortho, std::string str);
std::string OrthoFeedbackOut(PyMOLGlobals* G, COrtho& ortho);
void OrthoSetWizardPrompt(PyMOLGlobals * G, char *vla);
int OrthoGetOverlayStatus(PyMOLGlobals * G);
void OrthoPasteIn(PyMOLGlobals * G, const char *buffer);
void OrthoRemoveSplash(PyMOLGlobals * G);
void OrthoRemoveAutoOverlay(PyMOLGlobals * G);
void OrthoSplash(PyMOLGlobals * G);
int OrthoArrowsGrabbed(PyMOLGlobals * G);
void OrthoSpecial(PyMOLGlobals * G, int k, int x, int y, int mod);
int OrthoCommandWaiting(PyMOLGlobals * G);
int OrthoTextVisible(PyMOLGlobals * G);
void OrthoReshapeWizard(PyMOLGlobals * G, ov_size height);
void OrthoDefer(PyMOLGlobals * G, std::unique_ptr<CDeferred> && D);
void OrthoExecDeferred(PyMOLGlobals * G);
int OrthoDeferredWaiting(PyMOLGlobals * G);
OrthoRenderMode OrthoGetRenderMode(PyMOLGlobals * G);
void OrthoDrawBuffer(PyMOLGlobals * G, GLenum mode);
int OrthoGetWrapClickSide(PyMOLGlobals * G);
float *OrthoGetOverlayColor(PyMOLGlobals * G);
void OrthoDrawWizardPrompt(PyMOLGlobals * G, CGO *orthoCGO);
void bg_grad(PyMOLGlobals * G);
GLuint OrthoGetBackgroundTextureID(PyMOLGlobals * G);
void OrthoInvalidateBackgroundTexture(PyMOLGlobals * G);
void OrthoBackgroundTextureNeedsUpdate(PyMOLGlobals * G);
std::pair<int, int> OrthoGetBackgroundSize(const COrtho& ortho);
void OrthoSetBackgroundImage(PyMOLGlobals * G, const char *image_data, int width, int height);
bool OrthoBackgroundDataIsSet(const COrtho& ortho);
std::shared_ptr<pymol::Image> OrthoBackgroundDataGet(const COrtho& ortho);
std::pair<int, int> OrthoGetSize(const COrtho& ortho);
void OrthoInvalidateDoDraw(PyMOLGlobals * G);
void OrthoRenderCGO(PyMOLGlobals * G);
#define OrthoLineLength 1024
typedef char OrthoLineType[OrthoLineLength];
#endif
|