16 std::unique_ptr<SkAudioPlayer> fPlayer;
27 SkDebugf(
"make: dur:%g time%g state:%d",
30 (
int)fPlayer->state());
33 fBar = { 10, 10, 510, 30 };
42 p.setColor(0xFFCCCCCC);
45 p.setColor(fPlayer->isPlaying() ?
SK_ColorBLUE : 0xFF8888FF);
53 switch (fPlayer->state()) {
65 bool wasPlaying = fPlayer->isPlaying();
69 return new Click([
this, wasPlaying](
Click* click) {
71 fPlayer->setNormalizedTime((click->fCurr.fX - fBar.fLeft) / fBar.width());
constexpr SkColor SK_ColorBLUE
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
bool onChar(SkUnichar c) override
Click * onFindClickHandler(SkScalar x, SkScalar y, skui::ModifierKey) override
void draw(SkCanvas *canvas) override
void load(SkScalar w, SkScalar h) override
bool animate(double) override
bool onClick(ClickHandlerSlide::Click *) override
static std::unique_ptr< SkAudioPlayer > Make(sk_sp< SkData >)
void drawRect(const SkRect &rect, const SkPaint &paint)
static sk_sp< SkData > MakeFromFileName(const char path[])
virtual bool onChar(SkUnichar c)
SkScalar fLeft
smaller x-axis bounds
SkScalar fRight
larger x-axis bounds
bool contains(SkScalar x, SkScalar y) const
constexpr float width() const