0
Files
src/printing/printing_utils.h
Alan Screen 04f4dfec58 Componentize print backend separate from printing
Make print backend be a separate component from printing.  This will
facilitate it being its own target that can be used for more focused
dependencies from elsewhere.

Since the print backend relies upon some parts of //printing, this also
requires introducing another component within //printing to include the
reduced-dependency helper files that are needed by both //printing and
//printing/backend.

Bug: b/179305160
Change-Id: I3203b0154acd1612bb89ec31b093953f6dfa956f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2818915
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Alan Screen <awscreen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#877380}
2021-04-29 07:05:25 +00:00

54 lines
1.6 KiB
C++

// Copyright 2013 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_PRINTING_UTILS_H_
#define PRINTING_PRINTING_UTILS_H_
#include <stddef.h>
#include <string>
#include "base/component_export.h"
#include "base/strings/string_piece.h"
namespace gfx {
class Size;
}
namespace printing {
// Simplify title to resolve issue with some drivers.
COMPONENT_EXPORT(PRINTING_BASE)
std::u16string SimplifyDocumentTitle(const std::u16string& title);
COMPONENT_EXPORT(PRINTING_BASE)
std::u16string SimplifyDocumentTitleWithLength(const std::u16string& title,
size_t length);
COMPONENT_EXPORT(PRINTING_BASE)
std::u16string FormatDocumentTitleWithOwner(const std::u16string& owner,
const std::u16string& title);
COMPONENT_EXPORT(PRINTING_BASE)
std::u16string FormatDocumentTitleWithOwnerAndLength(
const std::u16string& owner,
const std::u16string& title,
size_t length);
// Returns the paper size (microns) most common in the locale to the nearest
// millimeter. Defaults to ISO A4 for an empty or invalid locale.
COMPONENT_EXPORT(PRINTING_BASE)
gfx::Size GetDefaultPaperSizeFromLocaleMicrons(base::StringPiece locale);
// Returns true if both dimensions of the sizes have a delta less than or equal
// to the epsilon value.
COMPONENT_EXPORT(PRINTING_BASE)
bool SizesEqualWithinEpsilon(const gfx::Size& lhs,
const gfx::Size& rhs,
int epsilon);
} // namespace printing
#endif // PRINTING_PRINTING_UTILS_H_