Search found 7 matches
- Tue May 22, 2018 7:10 am
- Forum: C++ Development
- Topic: wxBufferedDC and Alpha Channel
- Replies: 15
- Views: 3021
Re: wxBufferedDC and Alpha Channel
Hm, that's why I use wxDCOverlay - to avoid repainting whole screen on every mouse move. This is very strange. There is no reason to use wxMemoryDC without repainting it, wxClientDC causes flicker, wxBufferedDC doesn't work (I have a debugging check: assert "bmpSrc.IsOk() && bmpSrc.HasA...
- Mon May 21, 2018 10:39 am
- Forum: C++ Development
- Topic: wxBufferedDC and Alpha Channel
- Replies: 15
- Views: 3021
Re: wxBufferedDC and Alpha Channel
Another problem: when I use wxDCOverlay in this example it flickers: void qCanvas::onMotion(wxMouseEvent &event) { wxClientDC dc( this ); wxDCOverlay dcOver( over, &dc ); dcOver.Clear(); wxPoint pt = event.GetPosition(); wxSize sz = this->GetSize(); if( event.LeftIsDown() ) { wxMemoryDC mdc(...
- Fri May 18, 2018 11:21 am
- Forum: C++ Development
- Topic: wxBufferedDC and Alpha Channel
- Replies: 15
- Views: 3021
Re: wxBufferedDC and Alpha Channel
Ok, I have changed my code for something like this: void qCanvas::onMotion(wxMouseEvent &event) { wxClientDC dc( this ); dc.SetPen( wxPen( wxColor(0, 0, 0), 1, wxPENSTYLE_LONG_DASH ) ); wxDCOverlay dcOver( over, &dc ); dcOver.Clear(); if( event.LeftIsDown() ) { wxMemoryDC mdc( *buffer ); mdc...
- Fri May 18, 2018 9:24 am
- Forum: C++ Development
- Topic: wxBufferedDC and Alpha Channel
- Replies: 15
- Views: 3021
Re: wxBufferedDC and Alpha Channel
I have done some changes in my code and finally - it works, but not properly. Now I have problem with color. When I draw my bitmaps even with transparent brush the bg color is black. As a solution I made another bitmap (bgBmp), Clear() it with white color and draw on it - works, background is now wh...
- Thu May 17, 2018 11:29 am
- Forum: C++ Development
- Topic: wxBufferedDC and Alpha Channel
- Replies: 15
- Views: 3021
Re: wxBufferedDC and Alpha Channel
So i should use wxMemoryDC to draw into a wxBitmap and then redraw whole canvas trigering PaintEvent with Refresh()? Also I would like to make it possible to draw on multiple layers. Should I redraw e. g. some vector with bitmap every time I do any change? Would be problematic since I redraw on ever...
- Thu May 17, 2018 10:24 am
- Forum: C++ Development
- Topic: wxBufferedDC and Alpha Channel
- Replies: 15
- Views: 3021
Re: wxBufferedDC and Alpha Channel
//canvas.h #include <wx/wx.h> #include <wx/dcbuffer.h> #include <wx/graphics.h> #include <wx/dcgraph.h> #include <wx/sysopt.h> class qCanvas : public wxPanel { private: wxBitmap* drawing; wxBitmap* drawBuffer; wxPoint initialPoint; void render( wxDC& dc ); public: qCanvas(wxFrame* parent); ~qCa...
- Thu May 17, 2018 9:03 am
- Forum: C++ Development
- Topic: wxBufferedDC and Alpha Channel
- Replies: 15
- Views: 3021
wxBufferedDC and Alpha Channel
Hello, I'm trying to write a simple graphics app and I have a problem with drawing to a wxBitmap with wxBufferedDC and alpha channel. Here's some code: //canvas.cpp #include "canvas.h" BEGIN_EVENT_TABLE(qCanvas, wxPanel) EVT_PAINT(qCanvas::onPaint) EVT_LEFT_DOWN(qCanvas::onLeftDown) EVT_LE...