ModifierKey unifies sk_app::Window::ModifierKey & Sample::Click::ModifierKey
Change-Id: Idb5dfe57a7f6e3d6078ab1e68d542b084114cfbe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225735
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
diff --git a/samplecode/PerlinPatch.cpp b/samplecode/PerlinPatch.cpp
index 2e404ad..49a55ea 100644
--- a/samplecode/PerlinPatch.cpp
+++ b/samplecode/PerlinPatch.cpp
@@ -10,6 +10,7 @@
#include "include/effects/SkPerlinNoiseShader.h"
#include "samplecode/Sample.h"
#include "src/utils/SkPatchUtils.h"
+#include "tools/ModifierKey.h"
#include "tools/timer/AnimTimer.h"
static void draw_control_points(SkCanvas* canvas, const SkPoint cubics[12]) {
@@ -167,13 +168,11 @@
return SkPoint::Length(pt.fX - x, pt.fY - y) < SkIntToScalar(5);
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
- // holding down shift
- if (1 == modi) {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
+ if (ModifierKey::kShift == modi) {
return new PtClick(this, -1);
}
- // holding down ctrl
- if (2 == modi) {
+ if (ModifierKey::kControl == modi) {
return new PtClick(this, -2);
}
SkPoint clickPoint = {x, y};
diff --git a/samplecode/Sample.cpp b/samplecode/Sample.cpp
index 9ee3b84..67d9da0 100644
--- a/samplecode/Sample.cpp
+++ b/samplecode/Sample.cpp
@@ -68,7 +68,7 @@
Sample::Click::~Click() {}
-Sample::Click* Sample::findClickHandler(SkScalar x, SkScalar y, unsigned modi) {
+Sample::Click* Sample::findClickHandler(SkScalar x, SkScalar y, ModifierKey modi) {
if (x < 0 || y < 0 || x >= fWidth || y >= fHeight) {
return nullptr;
}
@@ -76,7 +76,7 @@
return this->onFindClickHandler(x, y, modi);
}
-void Sample::DoClickDown(Click* click, int x, int y, unsigned modi) {
+void Sample::DoClickDown(Click* click, int x, int y, ModifierKey modi) {
SkASSERT(click);
Sample* target = click->fTarget.get();
@@ -95,7 +95,7 @@
target->onClick(click);
}
-void Sample::DoClickMoved(Click* click, int x, int y, unsigned modi) {
+void Sample::DoClickMoved(Click* click, int x, int y, ModifierKey modi) {
SkASSERT(click);
Sample* target = click->fTarget.get();
@@ -114,7 +114,7 @@
target->onClick(click);
}
-void Sample::DoClickUp(Click* click, int x, int y, unsigned modi) {
+void Sample::DoClickUp(Click* click, int x, int y, ModifierKey modi) {
SkASSERT(click);
Sample* target = click->fTarget.get();
@@ -137,7 +137,7 @@
void Sample::onSizeChange() {}
-Sample::Click* Sample::onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) {
+Sample::Click* Sample::onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) {
return nullptr;
}
diff --git a/samplecode/Sample.h b/samplecode/Sample.h
index 0d538d2..7b511c5 100644
--- a/samplecode/Sample.h
+++ b/samplecode/Sample.h
@@ -14,6 +14,7 @@
#include "include/core/SkString.h"
#include "include/private/SkMacros.h"
#include "src/utils/SkMetaData.h"
+#include "tools/ModifierKey.h"
#include "tools/Registry.h"
class AnimTimer;
@@ -60,16 +61,10 @@
kMoved_State,
kUp_State
};
- enum ModifierKeys {
- kShift_ModifierKey = 1 << 0,
- kControl_ModifierKey = 1 << 1,
- kOption_ModifierKey = 1 << 2, // same as ALT
- kCommand_ModifierKey = 1 << 3,
- };
SkPoint fOrig, fPrev, fCurr;
SkIPoint fIOrig, fIPrev, fICurr;
State fState;
- unsigned fModifierKeys;
+ ModifierKey fModifierKeys = ModifierKey::kNone;
SkMetaData fMeta;
private:
@@ -77,10 +72,10 @@
friend class Sample;
};
- Click* findClickHandler(SkScalar x, SkScalar y, unsigned modifierKeys);
- static void DoClickDown(Click*, int x, int y, unsigned modi);
- static void DoClickMoved(Click*, int x, int y, unsigned modi);
- static void DoClickUp(Click*, int x, int y, unsigned modi);
+ Click* findClickHandler(SkScalar x, SkScalar y, ModifierKey modifierKeys);
+ static void DoClickDown(Click*, int x, int y, ModifierKey modi);
+ static void DoClickMoved(Click*, int x, int y, ModifierKey modi);
+ static void DoClickUp(Click*, int x, int y, ModifierKey modi);
void setBGColor(SkColor color) { fBGColor = color; }
bool animate(const AnimTimer& timer) { return this->onAnimate(timer); }
@@ -92,7 +87,7 @@
virtual void onSizeChange();
/** Override this if you might handle the click */
- virtual Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi);
+ virtual Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi);
/** Override to track clicks. Return true as long as you want to track the pen/mouse. */
virtual bool onClick(Click*);
diff --git a/samplecode/SampleAAGeometry.cpp b/samplecode/SampleAAGeometry.cpp
index 515f4f7..c3c0f8d 100644
--- a/samplecode/SampleAAGeometry.cpp
+++ b/samplecode/SampleAAGeometry.cpp
@@ -1611,7 +1611,7 @@
return -1;
}
- virtual Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ virtual Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
SkPoint pt = {x, y};
int ptHit = hittest_pt(pt);
if (ptHit >= 0) {
diff --git a/samplecode/SampleCCPRGeometry.cpp b/samplecode/SampleCCPRGeometry.cpp
index dd9d298..6908e98 100644
--- a/samplecode/SampleCCPRGeometry.cpp
+++ b/samplecode/SampleCCPRGeometry.cpp
@@ -48,7 +48,7 @@
CCPRGeometryView() { this->updateGpuData(); }
void onDrawContent(SkCanvas*) override;
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned) override;
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override;
bool onClick(Sample::Click*) override;
bool onChar(SkUnichar) override;
SkString name() override { return SkString("CCPRGeometry"); }
@@ -422,7 +422,7 @@
int fPtIdx;
};
-Sample::Click* CCPRGeometryView::onFindClickHandler(SkScalar x, SkScalar y, unsigned) {
+Sample::Click* CCPRGeometryView::onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) {
for (int i = 0; i < 4; ++i) {
if (PrimitiveType::kCubics != fPrimitiveType && 2 == i) {
continue;
diff --git a/samplecode/SampleDegenerateQuads.cpp b/samplecode/SampleDegenerateQuads.cpp
index 895a6d2..5303594 100644
--- a/samplecode/SampleDegenerateQuads.cpp
+++ b/samplecode/SampleDegenerateQuads.cpp
@@ -380,8 +380,7 @@
}
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y,
- unsigned) override;
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override;
bool onClick(Sample::Click*) override;
bool onChar(SkUnichar) override;
SkString name() override { return SkString("DegenerateQuad"); }
@@ -480,7 +479,7 @@
}
};
-Sample::Click* DegenerateQuadSample::onFindClickHandler(SkScalar x, SkScalar y, unsigned) {
+Sample::Click* DegenerateQuadSample::onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) {
SkPoint inCTM = SkPoint::Make((x - kViewOffset) / kViewScale, (y - kViewOffset) / kViewScale);
for (int i = 0; i < 4; ++i) {
if ((fCorners[i] - inCTM).length() < 10.f / kViewScale) {
diff --git a/samplecode/SampleFatBits.cpp b/samplecode/SampleFatBits.cpp
index 0eaec1d..d661aaa 100644
--- a/samplecode/SampleFatBits.cpp
+++ b/samplecode/SampleFatBits.cpp
@@ -468,7 +468,7 @@
}
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
SkPoint pt = { x, y };
int index = -1;
int count = fFB.getTriangle() ? 3 : 2;
diff --git a/samplecode/SampleHT.cpp b/samplecode/SampleHT.cpp
index e225193..7483b80 100644
--- a/samplecode/SampleHT.cpp
+++ b/samplecode/SampleHT.cpp
@@ -156,7 +156,7 @@
return true;
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
// search backwards to find the top-most
for (int i = N - 1; i >= 0; --i) {
if (fArray[i].fDrawable->hitTest(x, y)) {
diff --git a/samplecode/SampleHairline.cpp b/samplecode/SampleHairline.cpp
index af4244a..aafa564 100644
--- a/samplecode/SampleHairline.cpp
+++ b/samplecode/SampleHairline.cpp
@@ -217,7 +217,7 @@
return true;
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
fDoAA = !fDoAA;
return this->INHERITED::onFindClickHandler(x, y, modi);
}
diff --git a/samplecode/SampleLayers.cpp b/samplecode/SampleLayers.cpp
index 03388e6..cb981f5 100644
--- a/samplecode/SampleLayers.cpp
+++ b/samplecode/SampleLayers.cpp
@@ -224,7 +224,7 @@
return true;
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
return new Click(this);
}
diff --git a/samplecode/SampleLighting.cpp b/samplecode/SampleLighting.cpp
index 68bc53f..022e44d 100644
--- a/samplecode/SampleLighting.cpp
+++ b/samplecode/SampleLighting.cpp
@@ -65,7 +65,7 @@
canvas->drawRect(fRect, paint);
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
return this->INHERITED::onFindClickHandler(x, y, modi);
}
diff --git a/samplecode/SampleLua.cpp b/samplecode/SampleLua.cpp
index 469d0a6..9416248 100644
--- a/samplecode/SampleLua.cpp
+++ b/samplecode/SampleLua.cpp
@@ -109,7 +109,7 @@
}
virtual Sample::Click* onFindClickHandler(SkScalar x, SkScalar y,
- unsigned modi) override {
+ ModifierKey modi) override {
lua_State* L = this->ensureLua();
lua_getglobal(L, gClickName);
if (lua_isfunction(L, -1)) {
diff --git a/samplecode/SampleMixer.cpp b/samplecode/SampleMixer.cpp
index 34cc8d6..1def7db 100644
--- a/samplecode/SampleMixer.cpp
+++ b/samplecode/SampleMixer.cpp
@@ -71,7 +71,7 @@
}
}
- virtual Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned) override {
+ virtual Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override {
return fRect.contains(SkScalarRoundToInt(x),
SkScalarRoundToInt(y)) ? new Click(this) : nullptr;
}
@@ -154,7 +154,7 @@
canvas->restore();
}
- virtual Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned) override {
+ virtual Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override {
fMode = (fMode == SkBlendMode::kSrcOver) ? SkBlendMode::kClear : SkBlendMode::kSrcOver;
return fRect.contains(SkScalarRoundToInt(x),
SkScalarRoundToInt(y)) ? new Click(this) : nullptr;
diff --git a/samplecode/SamplePatch.cpp b/samplecode/SamplePatch.cpp
index 71c88d9..a970400 100644
--- a/samplecode/SamplePatch.cpp
+++ b/samplecode/SamplePatch.cpp
@@ -297,7 +297,7 @@
return SkPoint::Length(pt.fX - x, pt.fY - y) < SkIntToScalar(5);
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
x -= DX;
y -= DY;
for (size_t i = 0; i < SK_ARRAY_COUNT(fPts); i++) {
@@ -396,7 +396,7 @@
// canvas->drawPath(fPath, fSkeletonP);
}
- Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
Click* click = new Click(this);
fPath.reset();
fPath.moveTo(x, y);
@@ -484,7 +484,7 @@
this->dodraw(canvas, nullptr, 600, 0, &p);
}
- Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
Click* click = new Click(this);
fPath.reset();
fPath.moveTo(x, y);
diff --git a/samplecode/SamplePath.cpp b/samplecode/SamplePath.cpp
index bdb51ab..de52fa8 100644
--- a/samplecode/SamplePath.cpp
+++ b/samplecode/SamplePath.cpp
@@ -189,7 +189,7 @@
return true;
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
fShowHairline = !fShowHairline;
return this->INHERITED::onFindClickHandler(x, y, modi);
}
@@ -289,7 +289,7 @@
return false;
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
const SkScalar tol = 4;
const SkRect r = SkRect::MakeXYWH(x - tol, y - tol, tol * 2, tol * 2);
for (int i = 0; i < N; ++i) {
@@ -417,7 +417,7 @@
return false;
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
const SkScalar tol = 4;
const SkRect r = SkRect::MakeXYWH(x - tol, y - tol, tol * 2, tol * 2);
for (int i = 0; i < N; ++i) {
@@ -534,7 +534,7 @@
return false;
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
const SkScalar tol = 8;
const SkRect r = SkRect::MakeXYWH(x - tol, y - tol, tol * 2, tol * 2);
for (int i = 0; i < N; ++i) {
@@ -730,7 +730,7 @@
return false;
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
const SkScalar tol = 8;
const SkRect r = SkRect::MakeXYWH(x - tol, y - tol, tol * 2, tol * 2);
for (int i = 0; i < N; ++i) {
diff --git a/samplecode/SamplePathClip.cpp b/samplecode/SamplePathClip.cpp
index f5ef4c5..5760d68 100644
--- a/samplecode/SamplePathClip.cpp
+++ b/samplecode/SamplePathClip.cpp
@@ -52,7 +52,7 @@
canvas->drawOval(oval, p);
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override {
return new Click(this);
}
@@ -278,7 +278,7 @@
return dx*dx + dy*dy <= rad*rad;
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override {
for (int i = 0; i < N; ++i) {
if (hit_test(fPoly[i], x, y)) {
return new VertClick(this, &fPoly[i]);
diff --git a/samplecode/SampleQuadStroker.cpp b/samplecode/SampleQuadStroker.cpp
index 4de89e2..13cd306 100644
--- a/samplecode/SampleQuadStroker.cpp
+++ b/samplecode/SampleQuadStroker.cpp
@@ -722,7 +722,7 @@
};
virtual Sample::Click* onFindClickHandler(SkScalar x, SkScalar y,
- unsigned modi) override {
+ ModifierKey modi) override {
for (size_t i = 0; i < SK_ARRAY_COUNT(fPts); ++i) {
if (hittest(fPts[i], x, y)) {
return new MyClick(this, (int)i);
diff --git a/samplecode/SampleRegion.cpp b/samplecode/SampleRegion.cpp
index a160549..cff677f 100644
--- a/samplecode/SampleRegion.cpp
+++ b/samplecode/SampleRegion.cpp
@@ -326,7 +326,7 @@
}
virtual Sample::Click* onFindClickHandler(SkScalar x, SkScalar y,
- unsigned modi) override {
+ ModifierKey modi) override {
return fRect.contains(SkScalarRoundToInt(x),
SkScalarRoundToInt(y)) ? new Click(this) : nullptr;
}
diff --git a/samplecode/SampleSG.cpp b/samplecode/SampleSG.cpp
index fc29c39..e129de1 100644
--- a/samplecode/SampleSG.cpp
+++ b/samplecode/SampleSG.cpp
@@ -72,7 +72,7 @@
fScene->render(canvas);
}
- Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
+ Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey modi) override {
if (auto node = fScene->nodeAt({x, y})) {
Click* click = new Click(this);
click->fMeta.setPtr("node", (void*)node);
diff --git a/samplecode/SampleSlides.cpp b/samplecode/SampleSlides.cpp
index 346ba60..ed8bf7a 100644
--- a/samplecode/SampleSlides.cpp
+++ b/samplecode/SampleSlides.cpp
@@ -443,7 +443,7 @@
gProc[fIndex](canvas);
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override {
this->init();
fIndex = (fIndex + 1) % SK_ARRAY_COUNT(gProc);
return nullptr;
diff --git a/samplecode/SampleStringArt.cpp b/samplecode/SampleStringArt.cpp
index 50d2136..2eaf4e3 100644
--- a/samplecode/SampleStringArt.cpp
+++ b/samplecode/SampleStringArt.cpp
@@ -50,7 +50,7 @@
canvas->drawPath(path, paint);
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override {
fAngle = x/width();
return nullptr;
}
diff --git a/samplecode/SampleVertices.cpp b/samplecode/SampleVertices.cpp
index 911418b..1db11c1 100644
--- a/samplecode/SampleVertices.cpp
+++ b/samplecode/SampleVertices.cpp
@@ -99,7 +99,7 @@
}
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override {
return new Click(this);
}
diff --git a/samplecode/SampleXfer.cpp b/samplecode/SampleXfer.cpp
index ccf9f87..6e607f6 100644
--- a/samplecode/SampleXfer.cpp
+++ b/samplecode/SampleXfer.cpp
@@ -161,7 +161,7 @@
canvas->restore();
}
- Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned) override {
+ Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override {
// Check mode buttons first
for (int i = 0; i < N_Modes; ++i) {
if (fModeButtons[i].hitTest(x, y)) {