148dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com/*
248dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com * Copyright 2011 Google Inc.
348dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com *
448dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com * Use of this source code is governed by a BSD-style license that can be
548dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com * found in the LICENSE file.
648dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com */
748dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com
848dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com#ifndef GMSampleView_DEFINED
948dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com#define GMSampleView_DEFINED
1048dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com
1148dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com#include "SampleCode.h"
1248dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com#include "gm.h"
1348dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com
1448dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.comclass GMSampleView : public SampleView {
1548dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.comprivate:
16a4f8137e67e31390b0e7edc5e637a3a02495d1a2reed@google.com    bool fShowSize;
1748dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com    typedef skiagm::GM GM;
1848dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com
1948dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.compublic:
200ab326f530c0d3597471bbbe7bc92e7cd1fac60freed    GMSampleView(GM*);
21d3b65972aad96453ff4510caa3e25a2b847c6d1eBrian Salomon    ~GMSampleView() override;
22ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com
230ab326f530c0d3597471bbbe7bc92e7cd1fac60freed    static SkEvent* NewShowSizeEvt(bool doShowSize);
24a4f8137e67e31390b0e7edc5e637a3a02495d1a2reed@google.com
2548dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.comprotected:
2636352bf5e38f45a70ee4f4fc132a38048d38206dmtklein    bool onQuery(SkEvent*) override;
2736352bf5e38f45a70ee4f4fc132a38048d38206dmtklein    bool onEvent(const SkEvent&) override;
2836352bf5e38f45a70ee4f4fc132a38048d38206dmtklein    void onDrawContent(SkCanvas*) override;
2936352bf5e38f45a70ee4f4fc132a38048d38206dmtklein    void onDrawBackground(SkCanvas*) override;
3036352bf5e38f45a70ee4f4fc132a38048d38206dmtklein    bool onAnimate(const SkAnimTimer&) override;
31d9adfe6a223955bc69c8c7661ab8e0a078afbc32reed
3248dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.comprivate:
3348dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com    GM* fGM;
3448dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com    typedef SampleView INHERITED;
3548dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com};
3648dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com
3748dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com#endif
38