static int DirectFB_RenderDrawLines(SDL_Renderer * renderer, const SDL_FPoint * points, int count) { DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; IDirectFBSurface *destsurf = data->target; DFBRegion clip_region; int i; DirectFB_ActivateRenderer(renderer); PrepareDraw(renderer); /* Use antialiasing when available */ #if (DFB_VERSION_ATLEAST(1,2,0)) SDL_DFB_CHECKERR(destsurf->SetRenderOptions(destsurf, DSRO_ANTIALIAS)); #endif destsurf->GetClip(destsurf, &clip_region); for (i=0; i < count - 1; i++) { int x1 = points[i].x + clip_region.x1; int y1 = points[i].y + clip_region.y1; int x2 = points[i + 1].x + clip_region.x1; int y2 = points[i + 1].y + clip_region.y1; SDL_DFB_CHECKERR(destsurf->DrawLine(destsurf, x1, y1, x2, y2)); } return 0; error: return -1; }
static int DirectFB_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count) { DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; IDirectFBSurface *destsurf = data->target; DFBRegion clip_region; int i; DirectFB_ActivateRenderer(renderer); PrepareDraw(renderer); destsurf->GetClip(destsurf, &clip_region); for (i=0; i<count; i++) { SDL_Rect dst = {rects[i]->x, rects[i]->y, rects[i]->w, rects[i]->h}; dst.x += clip_region.x1; dst.y += clip_region.y1; SDL_DFB_CHECKERR(destsurf->DrawRectangle(destsurf, dst.x, dst.y, dst.w, dst.h)); } return 0; error: return -1; }
bool CScrollBar::OnCreate(CREATESTRUCT *pCS) { if (!m_sb.Create<RScrollBar>(m_hWnd, m_bHorz)) {ASSERT(false); return false;} PrepareDraw(); return true; }
void CScrollBar::OnPrefChanged() { PrepareDraw(); RECT rc; GetClientRect(m_hWnd, &rc); OnSize(0, (WORD)rc.right, (WORD)rc.bottom); }
static int DirectFB_RenderPoint(SDL_Renderer * renderer, int x, int y) { DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; SDL_DFB_WINDOWSURFACE(data->window); DFBResult ret; PrepareDraw(renderer); SDL_DFB_CHECKERR(destsurf->DrawLine(destsurf, x, y, x, y)); return 0; error: return -1; }
void CGraph::PreviewDxfGraph() { PrepareDraw(); m_hOldDrawPointPen = (HPEN)::SelectObject(m_hMemDC, m_hDrawPointPen); for(int i = 0; i < g_ptrGraphArray.GetSize(); ++i) { (g_ptrGraphArray.GetAt(i))->Draw(m_hMemDC, CRect(0, 0, m_cxStaticWidth, m_cxStaticWidth), FRAME_EDAGE_OFFSET); } ::SelectObject(m_hMemDC, m_hOldDrawPointPen); ::BitBlt(m_hGraphDC, 0, 0, m_cxStaticWidth, m_cyStaticHeight, m_hMemDC, 0, 0, SRCCOPY); OverDraw(); }
int DirectFB_RenderClear(SDL_Renderer * renderer) { DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; IDirectFBSurface *destsurf = data->target; DirectFB_ActivateRenderer(renderer); PrepareDraw(renderer); destsurf->Clear(destsurf, renderer->r, renderer->g, renderer->b, renderer->a); return 0; }
static int DirectFB_RenderFill(SDL_Renderer * renderer, const SDL_Rect * rect) { DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; SDL_DFB_WINDOWSURFACE(data->window); DFBResult ret; PrepareDraw(renderer); SDL_DFB_CHECKERR(destsurf->FillRectangle(destsurf, rect->x, rect->y, rect->w, rect->h)); return 0; error: return -1; }
static int DirectFB_RenderDrawPoints(SDL_Renderer * renderer, const SDL_Point * points, int count) { DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; IDirectFBSurface *destsurf = get_dfb_surface(data->window); int i; DirectFB_ActivateRenderer(renderer); PrepareDraw(renderer); for (i=0; i < count; i++) SDL_DFB_CHECKERR(destsurf->DrawLine(destsurf, points[i].x, points[i].y, points[i].x, points[i].y)); return 0; error: return -1; }
static int DirectFB_RenderLine(SDL_Renderer * renderer, int x1, int y1, int x2, int y2) { DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; SDL_DFB_WINDOWSURFACE(data->window); DFBResult ret; PrepareDraw(renderer); /* Use antialiasing when available */ #if (DFB_VERSION_ATLEAST(1,2,0)) SDL_DFB_CHECKERR(destsurf->SetRenderOptions(destsurf, DSRO_ANTIALIAS)); #endif SDL_DFB_CHECKERR(destsurf->DrawLine(destsurf, x1, y1, x2, y2)); return 0; error: return -1; }
static int DirectFB_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count) { DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; IDirectFBSurface *destsurf = get_dfb_surface(data->window); int i; DirectFB_ActivateRenderer(renderer); PrepareDraw(renderer); for (i=0; i<count; i++) SDL_DFB_CHECKERR(destsurf->DrawRectangle(destsurf, rects[i]->x, rects[i]->y, rects[i]->w, rects[i]->h)); return 0; error: return -1; }
void CScrollBar::OnSize(DWORD type, WORD cx, WORD cy) { if (m_bWindowsDefault) { MoveWindow(m_sb, 0, 0, cx, cy); return; } int cxPrev = m_mdc.cx; int cyPrev = m_mdc.cy; VERIFY(m_mdc.Create(cx, cy)); if ((m_bHorz && cy != cyPrev) || (!m_bHorz && cx != cxPrev)) PrepareDraw(); CalcRects(); Draw(); }
static int DirectFB_RenderDrawPoints(SDL_Renderer * renderer, const SDL_FPoint * points, int count) { DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; IDirectFBSurface *destsurf = data->target; DFBRegion clip_region; int i; DirectFB_ActivateRenderer(renderer); PrepareDraw(renderer); destsurf->GetClip(destsurf, &clip_region); for (i=0; i < count; i++) { int x = points[i].x + clip_region.x1; int y = points[i].y + clip_region.y1; SDL_DFB_CHECKERR(destsurf->DrawLine(destsurf, x, y, x, y)); } return 0; error: return -1; }
static int DirectFB_RenderDrawLines(SDL_Renderer * renderer, const SDL_Point * points, int count) { DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; IDirectFBSurface *destsurf = get_dfb_surface(data->window); int i; DirectFB_ActivateRenderer(renderer); PrepareDraw(renderer); /* Use antialiasing when available */ #if (DFB_VERSION_ATLEAST(1,2,0)) SDL_DFB_CHECKERR(destsurf->SetRenderOptions(destsurf, DSRO_ANTIALIAS)); #endif for (i=0; i < count - 1; i++) SDL_DFB_CHECKERR(destsurf->DrawLine(destsurf, points[i].x, points[i].y, points[i+1].x, points[i+1].y)); return 0; error: return -1; }
void CGraph::GraphMain(void) { //绘图开启标识 if (m_uChGraphPaintFlag) { //绘制图形 if(m_hGraphWnd == NULL) return; PrepareDraw(); DrawPoint(); ::BitBlt(m_hGraphDC, 0, 0, m_cxStaticWidth, m_cyStaticHeight, m_hMemDC, 0, 0, SRCCOPY); //::StretchBlt(m_hGraphDC, 0, 0, m_cxStaticWidth, m_cyStaticHeight, m_hMemDC, // m_GraphPointMinX, m_GraphPointMinY, m_GraphPointMaxX, m_GraphPointMaxY, SRCCOPY); OverDraw(); } }