void CColorSlide::DynamicStat(ENUM_SLIDERSTATE aState) { if (m_nWidth <= 0) { return; } CDC* pDC =GetWindowDC(); if (pDC == NULL) { return; } pDC->SetBkColor(TRANSPARENT); CRect lrcClientRect; GetClientRect(lrcClientRect); m_nWidth = lrcClientRect.Width(); lrcClientRect.bottom; m_nHeight = lrcClientRect.Height(); CMemDC TempDC(pDC, CRect(lrcClientRect.left, lrcClientRect.top,lrcClientRect.right, lrcClientRect.bottom)); PaintBK(lrcClientRect,TempDC.GetSafeHdc()); if( m_SlideType != PERCENT_SLIDE ) DrawSlider(aState,lrcClientRect,TempDC.GetSafeHdc()); BitBlt(pDC->GetSafeHdc(),0,0,m_nWidth,m_nHeight,TempDC.GetSafeHdc(),0,0,SRCCOPY); ReleaseDC(pDC); }
// this function is called each frame void glutDisplay (void) { // Read next available data g_Context.WaitAndUpdateAll(); // Process the data g_pSessionManager->Update(&g_Context); glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Setup the OpenGL viewpoint glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); #ifdef USE_GLUT glOrtho(0, GL_WIN_SIZE_X, 0, GL_WIN_SIZE_Y, -1.0, 1.0); #else glOrthof(0, GL_WIN_SIZE_X, 0, GL_WIN_SIZE_Y, -1.0, 1.0); #endif glDisable(GL_TEXTURE_2D); // Draw the MyBoxes g_pBox[0]->Draw(); g_pBox[1]->Draw(); g_pBox[2]->Draw(); // Draw the slider DrawSlider(); #ifdef USE_GLUT glutSwapBuffers(); #endif }
void XmGaugeSetValue(Widget w, int value) { XmGaugeWidget gw = (XmGaugeWidget)w; gw->gauge.value = value; DrawSlider(gw, True); XFlush(XtDisplay(w)); }
static void DrawOptionsMenu(void) { if (messageson) { MN_DrTextB(DEH_String("ON"), 196, 50); } else { MN_DrTextB(DEH_String("OFF"), 196, 50); } DrawSlider(&OptionsMenu, 3, 10, mouseSensitivity); }
void cMenu::DrawMenu() { //Body Stuff. GradientRect(10, 10, 300, 20, Grey, DGrey); DrawFilledRectangle(10,30,300,280,DGrey); DrawNonFilledRectangle(10,10,300,300,Outline); PrintText("Mentranium", 100,20,White,Font.g_pFont); //Tabs. sizeoftab = 291 / (TabCount); DrawNonFilledRectangle(15,61, sizeoftab * TabCount, 243,Outline); for (int i = 0; i < TabCount; i++) { DrawTab(i, 15 + (i*sizeoftab), 41,sizeoftab); } //Checks. int d = 0; for(int i = 0; i < CheckCount; i++) { if(ActiveName == Checks[i].Parent) { DrawCheckBox(i,30, 70 + (d*20)); d++; } } //Sliders. d = 0; for(int i = 0; i < SliderCount; i++) { if(ActiveName == Sliders[i].Parent) { DrawSlider(i,150, 100 + (d*40)); d++; } } //Text Boxes. d = 0; for(int i = 0; i < TextBoxCount; i++) { if(ActiveName == TextBoxes[i].Parent) { DrawTextBox(i,150, 100 + (d*40)); d++; } } }
void BSlider::Draw(BRect updateRect) { // clear out background BRegion background(updateRect); background.Exclude(BarFrame()); bool drawBackground = true; if (Parent() && (Parent()->Flags() & B_DRAW_ON_CHILDREN) != 0) { // This view is embedded somewhere, most likely the Tracker Desktop // shelf. drawBackground = false; } // ToDo: the triangle thumb doesn't delete its background, so we still have // to do it Note, this also creates a different behaviour for subclasses, // depending on the thumb style - if possible this should be avoided. if (Style() == B_BLOCK_THUMB) { BRect thumbFrame = ThumbFrame(); if (be_control_look != NULL) { // fill background where shadow will be... // TODO: Such drawint dependent behavior should be moved into // BControlLook of course. thumbFrame.right--; thumbFrame.bottom--; } background.Exclude(thumbFrame); } #if USE_OFF_SCREEN_VIEW if (!fOffScreenBits) return; if (fOffScreenBits->Lock()) { fOffScreenView->SetViewColor(ViewColor()); fOffScreenView->SetLowColor(LowColor()); #endif if (drawBackground && background.Frame().IsValid()) OffscreenView()->FillRegion(&background, B_SOLID_LOW); #if USE_OFF_SCREEN_VIEW fOffScreenView->Sync(); fOffScreenBits->Unlock(); } #endif DrawSlider(); }
static void ExposeProc(Widget w, XEvent *WXUNUSED(event), Region WXUNUSED(r)) { XmGaugeWidget gw = (XmGaugeWidget)w; #define THIS gw->gauge int sht; sht = gw->primitive.shadow_thickness; _XmDrawShadows(XtDisplay(w), XtWindow(w), gw->primitive.top_shadow_GC, gw->primitive.bottom_shadow_GC, 0, 0, w->core.width, w->core.height, (Dimension)sht, XmSHADOW_IN); DrawSlider(gw, False); #undef THIS }
static void UpdateSpeechGraphics (void) { static TimeCount NextTime; CONTEXT OldContext; if (GetTimeCounter () < NextTime) return; // too early NextTime = GetTimeCounter () + OSCILLOSCOPE_RATE; OldContext = SetContext (RadarContext); DrawOscilloscope (); SetContext (SpaceContext); DrawSlider (); SetContext (OldContext); }
// Draw void PopupSlider::Draw(BRect updateRect) { bool enabled = IsEnabled(); rgb_color background = ui_color(B_PANEL_BACKGROUND_COLOR); rgb_color black; if (enabled) { black = tint_color(background, B_DARKEN_MAX_TINT); } else { black = tint_color(background, B_DISABLED_LABEL_TINT); } // draw label BRect r(Bounds()); r.right = fSliderButtonRect.left - 1.0; font_height fh; GetFontHeight(&fh); BPoint textPoint(0.0, (r.top + r.bottom) / 2.0 + fh.ascent / 2.0); SetLowColor(background); SetHighColor(black); FillRect(r, B_SOLID_LOW); DrawString(fLabel.String(), textPoint); // draw slider button DrawSlider(fSliderButtonRect, enabled); }
void Menu_Draw() { struct menu_entry *m=menu; OSD_Clear(); menurows=0; while(m->type!=MENU_ENTRY_NULL) { int i; char **labels; OSD_SetX(2); OSD_SetY(menurows); switch(m->type) { case MENU_ENTRY_CYCLE: i=MENU_CYCLE_VALUE(m); // Access the first byte labels=(char**)m->label; OSD_Puts("\x16 "); OSD_Puts(labels[i]); break; case MENU_ENTRY_SLIDER: DrawSlider(m); OSD_Puts(m->label); break; case MENU_ENTRY_TOGGLE: if((menu_toggle_bits>>MENU_ACTION_TOGGLE(m->action))&1) OSD_Puts("\x14 "); else OSD_Puts("\x15 "); // Fall through default: OSD_Puts(m->label); break; } ++menurows; m++; }
void TSliderView::SetValue(float value) { fValue = value; DrawSlider(); }
void SliderPanel::OnPaint(wxPaintEvent &WXUNUSED(event)) { wxPaintDC dc(this); DrawSlider(dc); }
void SliderPanel::OnSize(wxSizeEvent& event) { wxPaintDC dc(this); DrawSlider(dc); }
static void DrawOptions2Menu(void) { DrawSlider(&Options2Menu, 1, 9, screenblocks - 3); DrawSlider(&Options2Menu, 3, 16, snd_MaxVolume); DrawSlider(&Options2Menu, 5, 16, snd_MusicVolume); }
void GaugeDrag(Widget WXUNUSED(w), XEvent *WXUNUSED(e), String *WXUNUSED(args), Cardinal *WXUNUSED(num_args)) { /* Commented out for a read-only gauge in wxWidgets */ #if 0 XmGaugeWidget gw = (XmGaugeWidget)w; #define THIS gw->gauge int sht, x, y, max, value; float ratio, nratio, size, nsize, fvalue, delta; XMotionEvent *event = (XMotionEvent *)e; if( ! THIS.dragging) return; x = event->x; y = event->y; sht = gw->primitive.shadow_thickness; ratio = (float)THIS.value / (float)((float)THIS.maximum - (float)THIS.minimum); switch(THIS.orientation) { case XmHORIZONTAL: max = (w->core.width - 2 * sht); size = (float)max * ratio; delta = (float)x - (float)THIS.oldx; break; case XmVERTICAL: max = (w->core.height - 2 * sht); size = (float) max * ratio; delta = (float)y - (float)THIS.oldy; break; } switch(THIS.processingDirection) { case XmMAX_ON_RIGHT: case XmMAX_ON_BOTTOM: nsize = size + delta; break; default: nsize = size - delta; } if(nsize > (float)max) nsize = (float)max; if(nsize < (float)0 ) nsize = (float)0; nratio = nsize / (float)max; fvalue = (int)((float)THIS.maximum - (float)THIS.minimum) * (float)nsize / (float)max; value = wxRound(fvalue); THIS.value = value; THIS.oldx = x; THIS.oldy = y; /* clear old slider only if it was larger */ DrawSlider(gw, (nsize < size)); { XmGaugeCallbackStruct call; if(NULL != THIS.dragCallback) { call.reason = XmCR_DRAG; call.event = e; call.value = THIS.value; XtCallCallbacks(w, XmNdragCallback, &call); } } #undef THIS #endif }
void TSliderView::SetValue(float value) { fValue = value; DrawSlider(); callback(fValue, callback_arg); }
void TSliderView::Draw(BRect where) { DrawSlider(); }
void CMenuItem::Draw (int bIsCurrent, int bTiny) { SetColor (bIsCurrent, bTiny); if (m_bRebuild) { Destroy (); m_bRebuild = 0; } switch (m_nType) { case NM_TYPE_TEXT: // CCanvas::Current ()->Font () = TEXT_FONT); // fall through on purpose case NM_TYPE_MENU: DrawString (bIsCurrent, bTiny); break; case NM_TYPE_SLIDER: { SaveText (); if (m_value < m_minValue) m_value = m_minValue; else if (m_value > m_maxValue) m_value = m_maxValue; sprintf (m_text, "%s\t%s", m_savedText, SLIDER_LEFT); int l = int (strlen (m_text)); int h = m_maxValue - m_minValue + 1; memset (m_text + l, SLIDER_MIDDLE [0], h); m_text [l + h] = SLIDER_RIGHT [0]; m_text [l + h + 1] = '\0'; m_text [m_value + 1 + strlen (m_savedText) + 1] = SLIDER_MARKER [0]; DrawSlider (bIsCurrent, bTiny); RestoreText (); } break; case NM_TYPE_INPUT_MENU: if (m_group) DrawInputBox (m_w, m_x, m_y, m_text, bIsCurrent, bTiny); else DrawString (bIsCurrent, bTiny); break; case NM_TYPE_INPUT: DrawInputBox (m_w, m_x, m_y, m_text, bIsCurrent, bTiny); break; case NM_TYPE_GAUGE: DrawGauge (m_w, m_x, m_y, m_value, m_maxValue, bIsCurrent); break; case NM_TYPE_CHECK: DrawString (bIsCurrent, bTiny); if (m_value) DrawRightString (bIsCurrent, bTiny, CHECKED_CHECK_BOX); else DrawRightString (bIsCurrent, bTiny, NORMAL_CHECK_BOX); break; case NM_TYPE_RADIO: DrawString (bIsCurrent, bTiny); if (m_value) DrawRightString (bIsCurrent, bTiny, CHECKED_RADIO_BOX); else DrawRightString (bIsCurrent, bTiny, NORMAL_RADIO_BOX); break; case NM_TYPE_NUMBER: char text [20]; m_value = NMCLAMP (m_value, m_minValue, m_maxValue); DrawString (bIsCurrent, bTiny); sprintf (text, "%d", m_value); DrawRightString (bIsCurrent, bTiny, text); break; } }
void tcOptionsView::Draw() { static unsigned int drawCount = 0; std::string activeTab = GetTab(); StartDraw(); wxASSERT(mpOptions); UpdateButtonInfo(); std::vector<tcOptions::OptionInfo>& optionList = mpOptions->maOptionInfo; for(size_t k=0; k<buttonInfo.size(); k++) { if (!buttonInfo[k].isSlider) { int optionIdx = buttonInfo[k].optionIdx; int valueIdx = buttonInfo[k].valueIdx; tcString sText = optionList[optionIdx].mzCaption[valueIdx]; float x = (float)buttonInfo[k].textX; float y = (float)buttonInfo[k].textY; DrawText(sText.c_str(), x, y, defaultFont.get(), Vec4(0.86f, 0.86f, 1.0f, 1.0f), fontSize, LEFT_CENTER); if (optionList[optionIdx].mnValue == valueIdx) { DrawButton(buttonInfo[k].buttonX, buttonInfo[k].buttonY, 1); } else { DrawButton(buttonInfo[k].buttonX, buttonInfo[k].buttonY, 0); } } else { int optionIdx = buttonInfo[k].optionIdx; tcString sText = optionList[optionIdx].mzCaption[0]; bool thisSliderActive = sliderDragActive && (sliderIdx == k); float sliderVal = thisSliderActive ? sliderDragValue : optionList[optionIdx].floatVal; float sliderMin = optionList[optionIdx].floatMin; float sliderMax = optionList[optionIdx].floatMax; float sliderFraction = (sliderVal - sliderMin) / (sliderMax - sliderMin); float xText = (float)buttonInfo[k].textX; float yText = (float)buttonInfo[k].textY; float xBar = (float)buttonInfo[k].buttonX; float yBar = (float)buttonInfo[k].buttonY; DrawText(sText.c_str(), xText, yText, defaultFont.get(), Vec4(0.86f, 0.86f, 1.0f, 1.0f), fontSize, LEFT_CENTER); float xThumb = xBar + sliderFraction*sliderBarWidth; tcRect thumbRect(xThumb-2.0f, xThumb+2.0f, yBar-8.0f, yBar+8.0f); buttonInfo[k].thumbRect = thumbRect; // draw slider here DrawSlider(xBar, yBar, thumbRect, sliderVal, thisSliderActive); } } FinishDraw(); }