summaryrefslogtreecommitdiff
path: root/chromium/pdf/ui/document_properties.h
blob: b9868ea989cb08b38ef0b40547060f731e63dfd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef PDF_UI_DOCUMENT_PROPERTIES_H_
#define PDF_UI_DOCUMENT_PROPERTIES_H_

#include <string>

#include "pdf/document_metadata.h"
#include "third_party/abseil-cpp/absl/types/optional.h"

namespace gfx {
class Size;
}  // namespace gfx

namespace chrome_pdf {

// Formats `size_points` of a page to a localized string suitable for display to
// the user. The returned string contains the dimensions and orientation of the
// page. The dimension units are set by the user's locale. Example return
// values:
// ->  210 x 297 mm (portrait)
// ->  11.00 x 8.50 in (landscape)
//
// Returns the string "Varies" if `size_points` is `absl::nullopt`.
std::u16string FormatPageSize(const absl::optional<gfx::Size>& size_points);

// Formats `version` to a string suitable for display to a user. Version numbers
// do not require localization.
std::string FormatPdfVersion(PdfVersion version);

}  // namespace chrome_pdf

#endif  // PDF_UI_DOCUMENT_PROPERTIES_H_