[go: nahoru, domu]

blob: 4460b74d9fc8f98c5a94c6b8dec28e5e572ce5d1 [file] [log] [blame]
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_PWG_ENCODER_PWG_ENCODER_H_
#define COMPONENTS_PWG_ENCODER_PWG_ENCODER_H_
#include <stdint.h>
#include <string>
#include "ui/gfx/geometry/size.h"
namespace pwg_encoder {
class BitmapImage;
struct PwgHeaderInfo {
PwgHeaderInfo()
: dpi(300, 300),
total_pages(1),
flipx(false),
flipy(false),
color_space(SRGB),
duplex(false),
tumble(false) {}
enum ColorSpace { SGRAY = 18, SRGB = 19 };
gfx::Size dpi;
uint32_t total_pages;
bool flipx;
bool flipy;
ColorSpace color_space;
bool duplex;
bool tumble;
};
class PwgEncoder {
public:
PwgEncoder() = delete;
PwgEncoder(const PwgEncoder&) = delete;
PwgEncoder& operator=(const PwgEncoder&) = delete;
static std::string GetDocumentHeader();
// Given an image, create a PWG of the image and put the compressed image data
// in the returned string, or return an empty string on failure.
static std::string EncodePage(const BitmapImage& image,
const PwgHeaderInfo& pwg_header_info);
};
} // namespace pwg_encoder
#endif // COMPONENTS_PWG_ENCODER_PWG_ENCODER_H_