ae14df6577
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
32 linhas
843 B
C++
32 linhas
843 B
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.
|
|
|
|
#include "printing/page_range.h"
|
|
|
|
#include "base/stl_util-inl.h"
|
|
|
|
namespace printing {
|
|
|
|
/* static */
|
|
std::vector<int> PageRange::GetPages(const PageRanges& ranges) {
|
|
std::set<int> pages;
|
|
for (unsigned i = 0; i < ranges.size(); ++i) {
|
|
const PageRange& range = ranges[i];
|
|
// Ranges are inclusive.
|
|
for (int i = range.from; i <= range.to; ++i) {
|
|
pages.insert(i);
|
|
}
|
|
}
|
|
return SetToVector(pages);
|
|
}
|
|
|
|
/* static */
|
|
int PageRange::GetTotalPages(const PageRanges& ranges) {
|
|
// Since ranges can overlap we need to merge them before counting
|
|
std::vector<int> pages = PageRange::GetPages(ranges);
|
|
return pages.size();
|
|
}
|
|
|
|
} // namespace printing
|