From 275cc5d8de4cc04080a1a792a50b574a6dc2e31d Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 10 Dec 2012 14:49:42 +0000 Subject: [PATCH] CtrlLib: DropList transparency (Feature #367) git-svn-id: svn://ultimatepp.org/upp/trunk@5636 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlCore/CtrlMt.cpp | 1 - uppsrc/CtrlLib/MultiButton.cpp | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/uppsrc/CtrlCore/CtrlMt.cpp b/uppsrc/CtrlCore/CtrlMt.cpp index e9df9438c..321ebc804 100644 --- a/uppsrc/CtrlCore/CtrlMt.cpp +++ b/uppsrc/CtrlCore/CtrlMt.cpp @@ -70,7 +70,6 @@ void Ctrl::Call(Callback cb) if(IsMainThread()) cb(); else { - int ms = msecs(); CallBox cbox; cbox.cb = cb; UPP::PostCallback(callback1(PerformCall, &cbox)); diff --git a/uppsrc/CtrlLib/MultiButton.cpp b/uppsrc/CtrlLib/MultiButton.cpp index e1042030b..81f5a8ce4 100644 --- a/uppsrc/CtrlLib/MultiButton.cpp +++ b/uppsrc/CtrlLib/MultiButton.cpp @@ -390,7 +390,8 @@ void MultiButton::Paint(Draw& w) cr.left = lx; cr.right = rx; r = cr; - paper = HasFocus() ? SColorHighlight() : SColorPaper(); + if(!IsTransparent()) + paper = HasFocus() ? SColorHighlight() : SColorPaper(); if(HasFocus()) text = SColorHighlightText(); w.DrawRect(r, paper); @@ -400,6 +401,9 @@ void MultiButton::Paint(Draw& w) Rect m = GetMargin(); r = Rect(max(lx, m.left), m.top, min(rx, sz.cx - m.right), sz.cy - m.bottom); Color paper; + if(IsTransparent()) + paper = Null; + else if(mst == CTRL_HOT && !IsTrivial()) paper = Blend(SColorHighlight, SColorPaper, 235); else