aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2021-05-30 16:31:28 +1000
committerNeil <nyamatongwe@gmail.com>2021-05-30 16:31:28 +1000
commit5aed28d2d5d3bb78fee63f31bbd58b7fb00eaec2 (patch)
tree95cfc3561ae6698288e43f3f79e5b2afe2ef8366
parentc22692ef627ad4b9019c42a44655f049512cb4b1 (diff)
downloadscintilla-mirror-5aed28d2d5d3bb78fee63f31bbd58b7fb00eaec2.tar.gz
Fix GetFontQuality. Simplify code that calls FlagSet.
-rw-r--r--src/Document.cxx2
-rw-r--r--src/Editor.cxx30
-rw-r--r--src/ViewStyle.cxx4
-rw-r--r--test/simpleTests.py5
4 files changed, 23 insertions, 18 deletions
diff --git a/src/Document.cxx b/src/Document.cxx
index c20f7beea..74701bd8c 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -113,7 +113,7 @@ size_t ActionDuration::ActionsInAllowedTime(double secondsAllowed) const noexcep
}
Document::Document(DocumentOption options) :
- cb((FlagSet(options, DocumentOption::StylesNone)) == 0, (FlagSet(options, DocumentOption::TextLarge)) != 0),
+ cb(!FlagSet(options, DocumentOption::StylesNone), FlagSet(options, DocumentOption::TextLarge)),
durationStyleOneByte(0.000001, 0.0000001, 0.00001) {
refCount = 0;
#ifdef _WIN32
diff --git a/src/Editor.cxx b/src/Editor.cxx
index ab09f3f2d..e208260ab 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -595,7 +595,7 @@ void Editor::SetRectangularRange() {
SelectionRange range(
view.SPositionFromLineX(surface, *this, line, xCaret, vs),
view.SPositionFromLineX(surface, *this, line, xAnchor, vs));
- if ((FlagSet(virtualSpaceOptions, VirtualSpace::RectangularSelection)) == 0)
+ if (!FlagSet(virtualSpaceOptions, VirtualSpace::RectangularSelection))
range.ClearVirtualSpace();
if (line == lineAnchorRect)
sel.SetSelection(range);
@@ -1160,14 +1160,14 @@ Editor::XYScrollPosition Editor::XYScrollToMakeVisible(const SelectionRange &ran
// Vertical positioning
if (FlagSet(options, XYScrollOptions::vertical) &&
- (pt.y < rcClient.top || ptBottomCaret.y >= rcClient.bottom || (FlagSet(policies.y.policy, CaretPolicy::Strict)) != 0)) {
+ (pt.y < rcClient.top || ptBottomCaret.y >= rcClient.bottom || FlagSet(policies.y.policy, CaretPolicy::Strict))) {
const Sci::Line lineCaret = DisplayFromPosition(range.caret.Position());
const Sci::Line linesOnScreen = LinesOnScreen();
const Sci::Line halfScreen = std::max(linesOnScreen - 1, static_cast<Sci::Line>(2)) / 2;
- const bool bSlop = (FlagSet(policies.y.policy, CaretPolicy::Slop)) != 0;
- const bool bStrict = (FlagSet(policies.y.policy, CaretPolicy::Strict)) != 0;
- const bool bJump = (FlagSet(policies.y.policy, CaretPolicy::Jumps)) != 0;
- const bool bEven = (FlagSet(policies.y.policy, CaretPolicy::Even)) != 0;
+ const bool bSlop = FlagSet(policies.y.policy, CaretPolicy::Slop);
+ const bool bStrict = FlagSet(policies.y.policy, CaretPolicy::Strict);
+ const bool bJump = FlagSet(policies.y.policy, CaretPolicy::Jumps);
+ const bool bEven = FlagSet(policies.y.policy, CaretPolicy::Even);
// It should be possible to scroll the window to show the caret,
// but this fails to remove the caret on GTK+
@@ -1263,10 +1263,10 @@ Editor::XYScrollPosition Editor::XYScrollToMakeVisible(const SelectionRange &ran
// Horizontal positioning
if (FlagSet(options, XYScrollOptions::horizontal) && !Wrapping()) {
const int halfScreen = std::max(static_cast<int>(rcClient.Width()) - 4, 4) / 2;
- const bool bSlop = (FlagSet(policies.x.policy, CaretPolicy::Slop)) != 0;
- const bool bStrict = (FlagSet(policies.x.policy, CaretPolicy::Strict)) != 0;
- const bool bJump = (FlagSet(policies.x.policy, CaretPolicy::Jumps)) != 0;
- const bool bEven = (FlagSet(policies.x.policy, CaretPolicy::Even)) != 0;
+ const bool bSlop = FlagSet(policies.x.policy, CaretPolicy::Slop);
+ const bool bStrict = FlagSet(policies.x.policy, CaretPolicy::Strict);
+ const bool bJump = FlagSet(policies.x.policy, CaretPolicy::Jumps);
+ const bool bEven = FlagSet(policies.x.policy, CaretPolicy::Even);
if (bSlop) { // A margin is defined
int xMoveL, xMoveR;
@@ -3413,13 +3413,13 @@ int Editor::HorizontalMove(Message iMessage) {
case Message::CharLeftExtend: // only when sel.IsRectangular() && sel.MoveExtends()
if (pdoc->IsLineEndPosition(spCaret.Position()) && spCaret.VirtualSpace()) {
spCaret.SetVirtualSpace(spCaret.VirtualSpace() - 1);
- } else if ((FlagSet(virtualSpaceOptions, VirtualSpace::NoWrapLineStart)) == 0 || pdoc->GetColumn(spCaret.Position()) > 0) {
+ } else if (!FlagSet(virtualSpaceOptions, VirtualSpace::NoWrapLineStart) || pdoc->GetColumn(spCaret.Position()) > 0) {
spCaret = SelectionPosition(spCaret.Position() - 1);
}
break;
case Message::CharRightRectExtend:
case Message::CharRightExtend: // only when sel.IsRectangular() && sel.MoveExtends()
- if ((FlagSet(virtualSpaceOptions, VirtualSpace::RectangularSelection)) && pdoc->IsLineEndPosition(sel.MainCaret())) {
+ if (FlagSet(virtualSpaceOptions, VirtualSpace::RectangularSelection) && pdoc->IsLineEndPosition(sel.MainCaret())) {
spCaret.SetVirtualSpace(spCaret.VirtualSpace() + 1);
} else {
spCaret = SelectionPosition(spCaret.Position() + 1);
@@ -3478,13 +3478,13 @@ int Editor::HorizontalMove(Message iMessage) {
case Message::CharLeftExtend:
if (spCaret.VirtualSpace()) {
spCaret.SetVirtualSpace(spCaret.VirtualSpace() - 1);
- } else if ((FlagSet(virtualSpaceOptions, VirtualSpace::NoWrapLineStart)) == 0 || pdoc->GetColumn(spCaret.Position()) > 0) {
+ } else if (!FlagSet(virtualSpaceOptions, VirtualSpace::NoWrapLineStart) || pdoc->GetColumn(spCaret.Position()) > 0) {
spCaret = SelectionPosition(spCaret.Position() - 1);
}
break;
case Message::CharRight:
case Message::CharRightExtend:
- if ((FlagSet(virtualSpaceOptions, VirtualSpace::UserAccessible)) && pdoc->IsLineEndPosition(spCaret.Position())) {
+ if (FlagSet(virtualSpaceOptions, VirtualSpace::UserAccessible) && pdoc->IsLineEndPosition(spCaret.Position())) {
spCaret.SetVirtualSpace(spCaret.VirtualSpace() + 1);
} else {
spCaret = SelectionPosition(spCaret.Position() + 1);
@@ -6617,7 +6617,7 @@ sptr_t Editor::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) {
break;
case Message::GetFontQuality:
- return FlagSet(vs.extraFontFlag, FontQuality::QualityMask);
+ return static_cast<int>(vs.extraFontFlag) & static_cast<int>(FontQuality::QualityMask);
case Message::SetTabWidth:
if (wParam > 0) {
diff --git a/src/ViewStyle.cxx b/src/ViewStyle.cxx
index a7e8ba8fe..a229b8a94 100644
--- a/src/ViewStyle.cxx
+++ b/src/ViewStyle.cxx
@@ -651,7 +651,7 @@ bool ViewStyle::SetWrapIndentMode(WrapIndentMode wrapIndentMode_) noexcept {
bool ViewStyle::IsBlockCaretStyle() const noexcept {
return ((caret.style & CaretStyle::InsMask) == CaretStyle::Block) ||
- (FlagSet(caret.style, CaretStyle::OverstrikeBlock)) != 0;
+ FlagSet(caret.style, CaretStyle::OverstrikeBlock);
}
bool ViewStyle::IsCaretVisible() const noexcept {
@@ -662,7 +662,7 @@ bool ViewStyle::DrawCaretInsideSelection(bool inOverstrike, bool imeCaretBlockOv
if (FlagSet(caret.style, CaretStyle::BlockAfter))
return false;
return ((caret.style & CaretStyle::InsMask) == CaretStyle::Block) ||
- (inOverstrike && (FlagSet(caret.style, CaretStyle::OverstrikeBlock)) != 0) ||
+ (inOverstrike && FlagSet(caret.style, CaretStyle::OverstrikeBlock)) ||
imeCaretBlockOverride;
}
diff --git a/test/simpleTests.py b/test/simpleTests.py
index bcb11091d..3f607bed6 100644
--- a/test/simpleTests.py
+++ b/test/simpleTests.py
@@ -1916,6 +1916,11 @@ class TestStyleAttributes(unittest.TestCase):
self.ed.SetDefaultFoldDisplayText(0, b"...")
self.assertEquals(self.ed.GetDefaultFoldDisplayText(), b"...")
+ def testFontQuality(self):
+ self.assertEquals(self.ed.GetFontQuality(), self.ed.SC_EFF_QUALITY_DEFAULT)
+ self.ed.SetFontQuality(self.ed.SC_EFF_QUALITY_LCD_OPTIMIZED)
+ self.assertEquals(self.ed.GetFontQuality(), self.ed.SC_EFF_QUALITY_LCD_OPTIMIZED)
+
def testFontLocale(self):
initialLocale = "en-us".encode("UTF-8")
testLocale = "zh-Hans".encode("UTF-8")