void hdSimpleTextFigure::recalculateDisplayBox() { int w, h; getFontMetrics(w, h); hdGeometry g; displayBox().width = g.max(w, 10) + padding; displayBox().height = g.max(h, 10) + padding; }
void displayPopup(const pm_char * pstr) { s_warning = pstr; displayBox(); s_warning = NULL; lcdRefresh(); }
void displayWarning(uint8_t event) { s_warning_result = false; displayBox(); if (s_warning_info) lcd_putsnAtt(16, WARNING_LINE_Y+FH, s_warning_info, s_warning_info_len, WARNING_INFO_FLAGS); lcd_puts(16, WARNING_LINE_Y+2*FH, s_warning_type == WARNING_TYPE_ASTERISK ? STR_EXIT : STR_POPUPS); switch (event) { #if defined(ROTARY_ENCODER_NAVIGATION) case EVT_ROTARY_BREAK: #endif case EVT_KEY_BREAK(KEY_ENTER): if (s_warning_type == WARNING_TYPE_ASTERISK) break; s_warning_result = true; // no break #if defined(ROTARY_ENCODER_NAVIGATION) case EVT_ROTARY_LONG: killEvents(event); #endif case EVT_KEY_BREAK(KEY_EXIT): s_warning = NULL; s_warning_type = WARNING_TYPE_ASTERISK; break; #if defined(CPUARM) default: if (s_warning_type != WARNING_TYPE_INPUT) break; s_editMode = EDIT_MODIFY_FIELD; s_warning_input_value = checkIncDec(event, s_warning_input_value, s_warning_input_min, s_warning_input_max); s_editMode = EDIT_SELECT_FIELD; break; #endif } }
void ddAbstractFigure::basicDrawSelected(wxBufferedDC& context, ddDrawingView *view){ ddRect copy = displayBox(); view->CalcScrolledPosition(copy.x,copy.y,©.x,©.y); context.SetPen(*wxRED_PEN); context.SetBrush(wxBrush (wxColour(133, 133, 133),wxSOLID)); context.DrawRectangle(copy); }
void ddTextTableItemFigure::recalculateDisplayBox() { if (ownerColumn && ownerColumn->getOwnerTable()) { hdSimpleTextFigure::recalculateDisplayBox(); displayBox().width = ownerColumn->getOwnerTable()->getFiguresMaxWidth(); } }
void hdAbstractFigure::basicDraw(wxBufferedDC &context, hdDrawingView *view) { hdRect copy = displayBox().gethdRect(view->getIdx()); view->CalcScrolledPosition(copy.x, copy.y, ©.x, ©.y); context.SetPen(*wxGREEN_PEN); context.SetBrush(wxBrush (wxColour(208, 208, 208), wxSOLID)); context.DrawRectangle(copy); }
void ddColumnOptionIcon::basicDraw(wxBufferedDC &context, hdDrawingView *view) { if(iconToDraw) { hdRect copy = displayBox().gethdRect(view->getIdx()); view->CalcScrolledPosition(copy.x, copy.y, ©.x, ©.y); context.DrawBitmap(*iconToDraw, copy.GetPosition(), true); } }
void DMEngine::processEntrance() { _eventMan->_primaryMouseInput = _eventMan->_primaryMouseInputEntrance; _eventMan->_secondaryMouseInput = nullptr; _eventMan->_primaryKeyboardInput = nullptr; _eventMan->_secondaryKeyboardInput = nullptr; _entranceDoorAnimSteps[0] = new byte[128 * 161 * 12]; for (uint16 idx = 1; idx < 8; idx++) _entranceDoorAnimSteps[idx] = _entranceDoorAnimSteps[idx - 1] + 128 * 161; _entranceDoorAnimSteps[8] = _entranceDoorAnimSteps[7] + 128 * 161; _entranceDoorAnimSteps[9] = _entranceDoorAnimSteps[8] + 128 * 161 * 2; _displayMan->loadIntoBitmap(k3_entranceRightDoorGraphicIndice, _entranceDoorAnimSteps[4]); _displayMan->loadIntoBitmap(k2_entranceLeftDoorGraphicIndice, _entranceDoorAnimSteps[0]); _interfaceCredits = _displayMan->getNativeBitmapOrGraphic(k5_creditsGraphicIndice); _displayMan->_useByteBoxCoordinates = false; Box displayBox(0, 100, 0, 160); for (uint16 idx = 1; idx < 4; idx++) { _displayMan->blitToBitmap(_entranceDoorAnimSteps[0], _entranceDoorAnimSteps[idx], displayBox, idx << 2, 0, k64_byteWidth, k64_byteWidth, kM1_ColorNoTransparency, 161, 161); displayBox._x2 -= 4; } displayBox._x2 = 127; for (uint16 idx = 5; idx < 8; idx++) { displayBox._x1 += 4; _displayMan->blitToBitmap(_entranceDoorAnimSteps[4], _entranceDoorAnimSteps[idx], displayBox, 0, 0, k64_byteWidth, k64_byteWidth, kM1_ColorNoTransparency, 161, 161); } do { drawEntrance(); _eventMan->showMouse(); _eventMan->discardAllInput(); _newGameFl = k99_modeWaitingOnEntrance; do { _eventMan->processInput(); if (_engineShouldQuit) return; _eventMan->processCommandQueue(); _displayMan->updateScreen(); } while (_newGameFl == k99_modeWaitingOnEntrance); } while (_newGameFl == k202_CommandEntranceDrawCredits); //Strangerke: CHECKME: Earlier versions were using G0566_puc_Graphic534_Sound01Switch _sound->play(k01_soundSWITCH, 112, 0x40, 0x40); delay(20); _eventMan->showMouse(); if (_newGameFl) openEntranceDoors(); delete[] _entranceDoorAnimSteps[0]; for (uint16 i = 0; i < 10; ++i) _entranceDoorAnimSteps[i] = nullptr; }
//----------------------------------------------------------------------------- // computeDualView //----------------------------------------------------------------------------- void computeDualView(int a, int b, int c, int d, float tx, float ty, float tz) { for (int i=0; i<NSAMPLES; i++) for (int j=0; j<NSAMPLES; j++) intersection_count[i][j] = 0; for (int i=0; i<NLINES; i++) if (displayL[i]) computeDual(lines[i][0], lines[i][1], lines[i][2], lines[i][3], a, b, c, d); if (displayV) computeDual(v_x[0], v_y[0], v_x[1], v_y[1], a, b, c, d); displayDual2(); displayBox(); }
void menuMainView(uint8_t event) { STICK_SCROLL_DISABLE(); uint8_t view = g_eeGeneral.view; uint8_t view_base = view & 0x0f; switch(event) { case EVT_ENTRY: killEvents(KEY_EXIT); killEvents(KEY_UP); killEvents(KEY_DOWN); break; /* TODO if timer2 is OFF, it's possible to use this timer2 as in er9x... case EVT_KEY_BREAK(KEY_MENU): if (view_base == VIEW_TIMER2) { Timer2_running = !Timer2_running; AUDIO_KEYPAD_UP(); } break; */ case EVT_KEY_BREAK(KEY_RIGHT): case EVT_KEY_BREAK(KEY_LEFT): if (view_base <= VIEW_INPUTS) { #if defined(PCBSKY9X) if (view_base == VIEW_INPUTS) g_eeGeneral.view ^= ALTERNATE_VIEW; else g_eeGeneral.view = (g_eeGeneral.view + (4*ALTERNATE_VIEW) + ((event==EVT_KEY_BREAK(KEY_LEFT)) ? -ALTERNATE_VIEW : ALTERNATE_VIEW)) % (4*ALTERNATE_VIEW); #else g_eeGeneral.view ^= ALTERNATE_VIEW; #endif eeDirty(EE_GENERAL); AUDIO_KEYPAD_UP(); } break; #if defined(NAVIGATION_MENUS) case EVT_KEY_CONTEXT_MENU: killEvents(event); #if defined(CPUARM) if (modelHasNotes()) { MENU_ADD_ITEM(STR_VIEW_NOTES); } #endif #if defined(CPUARM) MENU_ADD_ITEM(STR_RESET_SUBMENU); #else MENU_ADD_ITEM(STR_RESET_TIMER1); MENU_ADD_ITEM(STR_RESET_TIMER2); #if defined(FRSKY) MENU_ADD_ITEM(STR_RESET_TELEMETRY); #endif MENU_ADD_ITEM(STR_RESET_FLIGHT); #endif MENU_ADD_ITEM(STR_STATISTICS); #if defined(CPUARM) MENU_ADD_ITEM(STR_ABOUT_US); #endif menuHandler = onMainViewMenu; break; #endif #if MENUS_LOCK != 2 /*no menus*/ case EVT_KEY_LONG(KEY_MENU):// go to last menu pushMenu(lastPopMenu()); killEvents(event); break; CASE_EVT_ROTARY_BREAK case EVT_KEY_MODEL_MENU: pushMenu(menuModelSelect); killEvents(event); break; CASE_EVT_ROTARY_LONG case EVT_KEY_GENERAL_MENU: pushMenu(menuGeneralSetup); killEvents(event); break; #endif case EVT_KEY_BREAK(KEY_UP): case EVT_KEY_BREAK(KEY_DOWN): g_eeGeneral.view = (event == EVT_KEY_BREAK(KEY_UP) ? (view_base == VIEW_COUNT-1 ? 0 : view_base+1) : (view_base == 0 ? VIEW_COUNT-1 : view_base-1)); eeDirty(EE_GENERAL); AUDIO_KEYPAD_UP(); break; case EVT_KEY_STATISTICS: chainMenu(menuStatisticsView); killEvents(event); break; case EVT_KEY_TELEMETRY: #if defined(FRSKY) if (!IS_FAI_ENABLED()) chainMenu(menuTelemetryFrsky); #elif defined(JETI) JETI_EnableRXD(); // enable JETI-Telemetry reception chainMenu(menuTelemetryJeti); #elif defined(ARDUPILOT) ARDUPILOT_EnableRXD(); // enable ArduPilot-Telemetry reception chainMenu(menuTelemetryArduPilot); #elif defined(NMEA) NMEA_EnableRXD(); // enable NMEA-Telemetry reception chainMenu(menuTelemetryNMEA); #elif defined(MAVLINK) chainMenu(menuTelemetryMavlink); #else chainMenu(menuStatisticsDebug); #endif killEvents(event); break; case EVT_KEY_FIRST(KEY_EXIT): #if defined(GVARS) && !defined(PCBSTD) if (s_gvar_timer > 0) { s_gvar_timer = 0; } #endif if (view == VIEW_TIMER2) { timerReset(1); } AUDIO_KEYPAD_UP(); break; #if !defined(NAVIGATION_MENUS) case EVT_KEY_LONG(KEY_EXIT): flightReset(); AUDIO_KEYPAD_UP(); break; #endif } { // Flight Mode Name uint8_t mode = mixerCurrentFlightMode; lcd_putsnAtt(PHASE_X, PHASE_Y, g_model.flightModeData[mode].name, sizeof(g_model.flightModeData[mode].name), ZCHAR|PHASE_FLAGS); // Model Name putsModelName(MODELNAME_X, MODELNAME_Y, g_model.header.name, g_eeGeneral.currModel, BIGSIZE); // Main Voltage (or alarm if any) displayVoltageOrAlarm(); // Timers displayTimers(); // Trims sliders displayTrims(mode); } if (view_base < VIEW_INPUTS) { // scroll bar lcd_hlineStip(38, 34, 54, DOTTED); #if defined(PCBSKY9X) lcd_hline(38 + (g_eeGeneral.view / ALTERNATE_VIEW) * 13, 34, 13, SOLID); #else lcd_hline((g_eeGeneral.view & ALTERNATE_VIEW) ? 64 : 38, 34, 26, SOLID); #endif for (uint8_t i=0; i<8; i++) { uint8_t x0,y0; #if defined(PCBSKY9X) uint8_t chan = 8*(g_eeGeneral.view / ALTERNATE_VIEW) + i; #else uint8_t chan = (g_eeGeneral.view & ALTERNATE_VIEW) ? 8+i : i; #endif int16_t val = channelOutputs[chan]; switch(view_base) { case VIEW_OUTPUTS_VALUES: x0 = (i%4*9+3)*FW/2; y0 = i/4*FH+40; #if defined(PPM_UNIT_US) lcd_outdezAtt(x0+4*FW , y0, PPM_CH_CENTER(chan)+val/2, 0); #elif defined(PPM_UNIT_PERCENT_PREC1) lcd_outdezAtt(x0+4*FW , y0, calcRESXto1000(val), PREC1); #else lcd_outdezAtt(x0+4*FW , y0, calcRESXto1000(val)/10, 0); // G: Don't like the decimal part* #endif break; case VIEW_OUTPUTS_BARS: #define WBAR2 (50/2) x0 = i<4 ? LCD_W/4+2 : LCD_W*3/4-2; y0 = 38+(i%4)*5; uint16_t lim = g_model.extendedLimits ? 640*2 : 512*2; int8_t len = (abs(val) * WBAR2 + lim/2) / lim; if(len>WBAR2) len = WBAR2; // prevent bars from going over the end - comment for debugging lcd_hlineStip(x0-WBAR2, y0, WBAR2*2+1, DOTTED); lcd_vline(x0,y0-2,5); if (val>0) x0+=1; else x0-=len; lcd_hline(x0,y0+1,len); lcd_hline(x0,y0-1,len); break; } } } else if (view_base == VIEW_INPUTS) { if (view == VIEW_INPUTS) { // Sticks + Pots doMainScreenGraphics(); // Switches for (uint8_t i=SWSRC_THR; i<=SWSRC_TRN; i++) { int8_t sw = (i == SWSRC_TRN ? (switchState(SW_ID0) ? SWSRC_ID0 : (switchState(SW_ID1) ? SWSRC_ID1 : SWSRC_ID2)) : i); uint8_t x = 2*FW-2, y = i*FH+1; if (i>=SWSRC_AIL) { x = 17*FW-1; y -= 3*FH; } putsSwitches(x, y, sw, getSwitch(i) ? INVERS : 0); } } else { #if defined(PCBMEGA2560) && defined(ROTARY_ENCODERS) for (uint8_t i=0; i<NUM_ROTARY_ENCODERS; i++) { int16_t val = getRotaryEncoder(i); int8_t len = limit((int16_t)0, (int16_t)(((val+1024) * BAR_HEIGHT) / 2048), (int16_t)BAR_HEIGHT); #if ROTARY_ENCODERS > 2 #define V_BAR_W 5 V_BAR(LCD_W/2-8+V_BAR_W*i, LCD_H-8, len); #else #define V_BAR_W 5 V_BAR(LCD_W/2-3+V_BAR_W*i, LCD_H-8, len); #endif } #endif // PCBGRUVIN9X && ROTARY_ENCODERS // Logical Switches #if defined(PCBSKY9X) for (uint8_t i=0; i<NUM_LOGICAL_SWITCH; i++) { int8_t len = getSwitch(SWSRC_SW1+i) ? BAR_HEIGHT : 1; uint8_t x = VSWITCH_X(i); lcd_vline(x-1, VSWITCH_Y-len, len); lcd_vline(x, VSWITCH_Y-len, len); } #elif defined(CPUM2560) for (uint8_t i=0; i<NUM_LOGICAL_SWITCH; i++) putsSwitches(2*FW-3 + (i/3)*(i/3>2 ? 3*FW+2 : (3*FW-1)) + (i/3>2 ? 2*FW : 0), 4*FH+1 + (i%3)*FH, SWSRC_SW1+i, getSwitch(SWSRC_SW1+i) ? INVERS : 0); #elif !defined(PCBSTD) for (uint8_t i=0; i<NUM_LOGICAL_SWITCH; i++) putsSwitches(2*FW-2 + (i/3)*(4*FW-1), 4*FH+1 + (i%3)*FH, SWSRC_SW1+i, getSwitch(SWSRC_SW1+i) ? INVERS : 0); #else for (uint8_t i=0; i<NUM_LOGICAL_SWITCH; i++) putsSwitches(2*FW-3 + (i/3)*(4*FW), 4*FH+1 + (i%3)*FH, SWSRC_SW1+i, getSwitch(SWSRC_SW1+i) ? INVERS : 0); #endif } } else { // timer2 #if defined(TRANSLATIONS_CZ) #define TMR2_LBL_COL (20-FW/2+1) #else #define TMR2_LBL_COL (20-FW/2+5) #endif putsTimer(33+FW+2+10*FWNUM-4, FH*5, timersStates[1].val, DBLSIZE, DBLSIZE); putsTimerMode(timersStates[1].val >= 0 ? TMR2_LBL_COL : TMR2_LBL_COL-7, FH*6, g_model.timers[1].mode); // lcd_outdezNAtt(33+11*FW, FH*6, s_timerVal_10ms[1], LEADING0, 2); // 1/100s } // And ! in case of unexpected shutdown if (unexpectedShutdown) { lcd_putcAtt(REBOOT_X, 0*FH, '!', INVERS); } #if defined(GVARS) && !defined(PCBSTD) if (s_gvar_timer > 0) { s_gvar_timer--; s_warning = STR_GLOBAL_VAR; displayBox(); lcd_putsnAtt(16, 5*FH, g_model.gvars[s_gvar_last].name, LEN_GVAR_NAME, ZCHAR); lcd_putsAtt(16+7*FW, 5*FH, PSTR("[\010]"), BOLD); lcd_outdezAtt(16+7*FW+4*FW+FW/2, 5*FH, GVAR_VALUE(s_gvar_last, getGVarFlightPhase(mixerCurrentFlightMode, s_gvar_last)), BOLD); s_warning = NULL; } #endif #if defined(DSM2) if (moduleFlag[0] == MODULE_BIND) { // Issue 98 lcd_putsAtt(15*FW, 0, PSTR("BIND"), 0); } #endif }
void hdSimpleTextFigure::basicMoveBy(int posIdx, int x, int y) { displayBox().x[posIdx] += x; displayBox().y[posIdx] += y; }
void hdSimpleTextFigure::basicDrawSelected(wxBufferedDC &context, hdDrawingView *view) { hdRect copy = displayBox().gethdRect(view->getIdx()); view->CalcScrolledPosition(copy.x, copy.y, ©.x, ©.y); context.DrawText(getText(true), copy.GetPosition()); }
void ddBitmapFigure::basicDraw(wxBufferedDC& context, ddDrawingView *view) { ddRect copy = displayBox(); view->CalcScrolledPosition(copy.x,copy.y,©.x,©.y); context.DrawBitmap(imageToDraw,copy.GetPosition(),true); }
void hdRectangleFigure::basicDrawSelected(wxBufferedDC &context, hdDrawingView *view) { hdRect copy = displayBox().gethdRect(view->getIdx()); view->CalcScrolledPosition(copy.x, copy.y, ©.x, ©.y); context.DrawRectangle(copy); }
//----------------------------------------------------------------------------- // display //----------------------------------------------------------------------------- void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); #if 0 glPushMatrix(); glTranslatef(-0.5, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 0, 1, 2, 3); glTranslatef(0, -1.1, 0.0); computeDualView(10, 11, 8, 9, 1.1, 0.0, 0.0); glPopMatrix(); glPushMatrix(); glTranslatef(0.6, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 0, 2, 1, 3); glTranslatef(0, -1.1, 0.0); computeDualView(4, 6, 5, 7, 1.1, 0.0, 0.0); glPopMatrix(); #else glPushMatrix(); glTranslatef(-0.5, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 0, 1, 2, 3); glTranslatef(0, -1.1, 0.0); computeDualView(0, 1, 2, 3, 1.1, 0.0, 0.0); glPopMatrix(); glPushMatrix(); glTranslatef(0.6, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 0, 2, 1, 3); glTranslatef(0, -1.1, 0.0); computeDualView(0, 2, 1, 3, 1.1, 0.0, 0.0); glPopMatrix(); #endif #if 1 #ifdef CURVED glPushMatrix(); glLoadIdentity(); glTranslatef(1.7, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 0, 1, 0, 2); glTranslatef(0, -1.1, 0.0); computeDualView(0, 1, 0, 2, 1.1, 0.0, 0.0); glPopMatrix(); #else glPushMatrix(); glLoadIdentity(); glTranslatef(1.7, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 5, 1, 0, 2); glTranslatef(0, -1.1, 0.0); computeDualView(5, 1, 0, 2, 1.1, 0.0, 0.0); glTranslatef(0, -1.1, 0.0); displayScene(0.5f, 0.5f, 0.2f, 0, 1, 2, 8); glTranslatef(0, -1.1, 0.0); computeDualView(0, 1, 2, 8, 1.1, 0.0, 0.0); glPopMatrix(); #endif #ifdef CURVED glPushMatrix(); glLoadIdentity(); glTranslatef(2.8, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 0, 1, 1, 3); glTranslatef(0, -1.1, 0.0); computeDualView(0, 1, 1, 3, 1.1, 0.0, 0.0); glPopMatrix(); #else glPushMatrix(); glLoadIdentity(); glTranslatef(2.8, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 4, 0, 1, 3); glTranslatef(0, -1.1, 0.0); computeDualView(4, 0, 1, 3, 1.1, 0.0, 0.0); glTranslatef(0, -1.1, 0.0); displayScene(0.5f, 0.5f, 0.2f, 0, 1, 3, 9); glTranslatef(0, -1.1, 0.0); computeDualView(0, 1, 3, 9, 1.1, 0.0, 0.0); glPopMatrix(); #endif #ifdef CURVED glPushMatrix(); glLoadIdentity(); glTranslatef(3.9, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 0, 2, 2, 3); glTranslatef(0, -1.1, 0.0); computeDualView(0, 2, 2, 3, 1.1, 0.0, 0.0); glPopMatrix(); #else glPushMatrix(); glLoadIdentity(); glTranslatef(3.9, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 0, 2, 3, 7); glTranslatef(0, -1.1, 0.0); computeDualView(0, 2, 3, 7, 1.1, 0.0, 0.0); glTranslatef(0, -1.1, 0.0); displayScene(0.5f, 0.5f, 0.2f, 10, 0, 2, 3); glTranslatef(0, -1.1, 0.0); computeDualView(10, 0, 2, 3, 1.1, 0.0, 0.0); glPopMatrix(); #endif #ifdef CURVED glPushMatrix(); glLoadIdentity(); glTranslatef(5.0, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 1, 3, 2, 3); glTranslatef(0, -1.1, 0.0); computeDualView(1, 3, 2, 3, 1.1, 0.0, 0.0); glPopMatrix(); #else glPushMatrix(); glLoadIdentity(); glTranslatef(5.0, 0.5, 0.0); displayScene(0.5f, 0.5f, 0.2f, 1, 3, 2, 6); glTranslatef(0, -1.1, 0.0); computeDualView(1, 3, 2, 6, 1.1, 0.0, 0.0); glTranslatef(0, -1.1, 0.0); displayScene(0.5f, 0.5f, 0.2f, 1, 11, 2, 3); glTranslatef(0, -1.1, 0.0); computeDualView(1, 11, 2, 3, 1.1, 0.0, 0.0); glPopMatrix(); #endif #endif #if 0 if (!displayCount) { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); if (displayV) displayDual(v_x[0], v_y[0], v_x[1], v_y[1], 0.4f, 0.4f, 0.5f); for (int i=0; i<NLINES; i++) if (displayL[i]) displayDual(lines[i][0], lines[i][1], lines[i][2], lines[i][3], colors[i][0], colors[i][1], colors[i][2]); displayBox (); glDisable(GL_BLEND); } else { computeDualView(0, 1, 2, 3, 1.1, 0.0, 0.0); computeDualView(0, 2, 1, 3, 1.1, 0.0, 0.0); //computeDualView(4, 1, 5, 2, 1.1, 0.0, 0.0); computeDualView(0, 1, 1, 3, 1.1, 0.0, 0.0); computeDualView(0, 2, 2, 3, 1.1, 0.0, 0.0); computeDualView(1, 3, 2, 3, 1.1, 0.0, 0.0); } // if (displayL[0]) displayDual(0.0f, 0.25f, 0.5f, 0.25f, 1.0f, 0.0f, 0.0f); // if (displayL[1]) displayDual(0.5f, 0.75f, 1.0f, 0.75f, 0.0f, 1.0f, 0.0f); // if (displayL[2]) displayDual(0.5f, 0.0f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f); glPopMatrix(); #endif glFlush(); glutSwapBuffers(); glFinish(); }
void ddRectangleFigure::basicDraw(wxBufferedDC& context, ddDrawingView *view) { ddRect copy = displayBox(); view->CalcScrolledPosition(copy.x,copy.y,©.x,©.y); context.DrawRectangle(copy); }