Arquivos
sverrir@google.com ae14df6577 Move printing related stuff to the root printing project from the browser project. This simplifies further refactoring and eases understanding of the printing part of Chrome.
Also renamed win_printing_context to printing_context_win (correct naming convention) and added stub implementations for _linux and mac.
Now all but one file is compiling on all platforms.

TEST=none (no functional change).
BUG=none

Review URL: http://codereview.chromium.org/149212

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20086 0039d316-1c4b-4281-b951-d872f2087c98
2009-07-07 21:31:39 +00:00

51 linhas
1.5 KiB
C++

// Copyright (c) 2006-2008 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 PRINTING_PRINTED_PAGE_H_
#define PRINTING_PRINTED_PAGE_H_
#include "base/gfx/rect.h"
#include "base/gfx/size.h"
#include "base/ref_counted.h"
#include "base/scoped_ptr.h"
#include "printing/native_metafile.h"
namespace printing {
// Contains the data to reproduce a printed page, either on screen or on
// paper. Once created, this object is immutable. It has no reference to the
// PrintedDocument containing this page.
// Note: May be accessed from many threads at the same time. This is an non
// issue since this object is immutable. The reason is that a page may be
// printed and be displayed at the same time.
class PrintedPage : public base::RefCountedThreadSafe<PrintedPage> {
public:
PrintedPage(int page_number,
NativeMetafile* native_metafile,
const gfx::Size& page_size);
~PrintedPage();
// Getters
int page_number() const { return page_number_; }
const NativeMetafile* native_metafile() const;
const gfx::Size& page_size() const { return page_size_; }
private:
// Page number inside the printed document.
const int page_number_;
// Actual paint data.
const scoped_ptr<NativeMetafile> native_metafile_;
// The physical page size. To support multiple page formats inside on print
// job.
const gfx::Size page_size_;
DISALLOW_EVIL_CONSTRUCTORS(PrintedPage);
};
} // namespace printing
#endif // PRINTING_PRINTED_PAGE_H_