diff options
Diffstat (limited to 'ppapi/cpp/dev/printing_dev.h')
-rw-r--r-- | ppapi/cpp/dev/printing_dev.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/ppapi/cpp/dev/printing_dev.h b/ppapi/cpp/dev/printing_dev.h new file mode 100644 index 0000000..ca34ba3 --- /dev/null +++ b/ppapi/cpp/dev/printing_dev.h @@ -0,0 +1,38 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef PPAPI_CPP_DEV_PRINTING_DEV_H_ +#define PPAPI_CPP_DEV_PRINTING_DEV_H_ + +#include "ppapi/c/dev/ppp_printing_dev.h" +#include "ppapi/cpp/resource.h" + +namespace pp { + +class Instance; + +// You would typically use this either via inheritance on your instance or +// by composition: see find_dev.h for an example. +class Printing_Dev { + public: + // The instance parameter must outlive this class. + explicit Printing_Dev(Instance* instance); + virtual ~Printing_Dev(); + + // PPP_Printing_Dev functions exposed as virtual functions for you to + // override. + virtual PP_PrintOutputFormat_Dev* QuerySupportedPrintOutputFormats( + uint32_t* format_count) = 0; + virtual int32_t PrintBegin(const PP_PrintSettings_Dev& print_settings) = 0; + virtual Resource PrintPages(const PP_PrintPageNumberRange_Dev* page_ranges, + uint32_t page_range_count) = 0; + virtual void PrintEnd() = 0; + + private: + Instance* associated_instance_; +}; + +} // namespace pp + +#endif // PPAPI_CPP_DEV_PRINTING_DEV_H_ |