1 #ifndef ViewportBuffer_h
2 #define ViewportBuffer_h
37 template<
class T >
class QQueue;
44 class ViewportBufferAction;
45 class ViewportBufferFill;
46 class ViewportBufferStretch;
47 class ViewportBufferTransform;
86 const std::vector<double> &
getLine(
int line);
89 void pan(
int deltaX,
int deltaY);
142 void ReadCube(
int cubeId,
int startSample,
int startLine,
143 int endSample,
int endLine,
int band,
void *caller);
149 QRect getXYBoundingRect();
151 void updateBoundingRects();
152 void doQueuedActions();
161 void resizeBuffer(
unsigned int width,
unsigned int height);
162 void shiftBuffer(
int deltaX,
int deltaY);
164 bool actionsPreserveData();
165 bool reinitializeActionExists();
175 std::vector< std::vector<double> > p_buffer;
176 bool p_bufferInitialized;
182 QRect p_XYBoundingRect;
183 QRect p_oldXYBoundingRect;
193 int p_viewportHeight;
194 int p_oldViewportHeight;
195 int p_vertScrollBarPos;
196 int p_oldVertScrollBarPos;
197 bool p_initialStretchDone;
198 double p_requestedFillArea;
203 enum sampLineRectPosition {
217 bool p_bricksOrdered;