summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gudmundsson <dgud@erlang.org>2020-08-05 11:29:20 +0200
committerDan Gudmundsson <dgud@erlang.org>2020-08-05 11:29:20 +0200
commitd53ae42404dfd443ecf4306fc4ffe38956a97075 (patch)
tree0a049672fc5a3a4c5637d87f0538cf78ef3646b7
parentad5f229d07035aa7ee22289b722699d9f93de36b (diff)
downloaderlang-d53ae42404dfd443ecf4306fc4ffe38956a97075.tar.gz
Use wxBG_STYLE_PAINT instead of STYLE_SYSTEM
Avoid flickering graphs (on windows) by using wxBG_STYLE_PAINT, i.e. telling wx that observer code handles the drawing the window.
-rw-r--r--lib/observer/src/observer_app_wx.erl2
-rw-r--r--lib/observer/src/observer_perf_wx.erl8
2 files changed, 3 insertions, 7 deletions
diff --git a/lib/observer/src/observer_app_wx.erl b/lib/observer/src/observer_app_wx.erl
index c4527ba063..862772669c 100644
--- a/lib/observer/src/observer_app_wx.erl
+++ b/lib/observer/src/observer_app_wx.erl
@@ -93,7 +93,7 @@ init([Notebook, Parent, _Config]) ->
DrawingArea = wxScrolledWindow:new(P2, [{winid, ?DRAWAREA},
{style,?wxFULL_REPAINT_ON_RESIZE}]),
BG = wxWindow:getBackgroundColour(Apps),
- wxWindow:setBackgroundStyle(DrawingArea, ?wxBG_STYLE_SYSTEM),
+ wxWindow:setBackgroundStyle(DrawingArea, ?wxBG_STYLE_PAINT),
wxWindow:setVirtualSize(DrawingArea, 800, 800),
wxSplitterWindow:setMinimumPaneSize(Splitter,50),
wxSizer:add(Extra, DrawingArea, [{flag, ?wxEXPAND},{proportion, 1}]),
diff --git a/lib/observer/src/observer_perf_wx.erl b/lib/observer/src/observer_perf_wx.erl
index 50a6d6a915..6a848a8d27 100644
--- a/lib/observer/src/observer_perf_wx.erl
+++ b/lib/observer/src/observer_perf_wx.erl
@@ -99,13 +99,9 @@ make_win(Name, Parent, Sizer, Border) ->
#win{name=Name, panel=Panel}.
setup_graph_drawing(Panels) ->
- IsWindows = element(1, os:type()) =:= win32,
- IgnoreCB = {callback, fun(_,_) -> ok end},
Do = fun(#win{panel=Panel}) ->
- wxWindow:setBackgroundStyle(Panel, ?wxBG_STYLE_SYSTEM),
- wxPanel:connect(Panel, paint, [callback]),
- IsWindows andalso
- wxPanel:connect(Panel, erase_background, [IgnoreCB])
+ wxWindow:setBackgroundStyle(Panel, ?wxBG_STYLE_PAINT),
+ wxPanel:connect(Panel, paint, [callback])
end,
_ = [Do(Panel) || Panel <- Panels],
UseGC = haveGC(),