Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Unified Diff: components/cloud_devices/common/printer_description.cc

Issue 294923005: Add media size capability to PDF printer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add a comment to the new query stopping code. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/cloud_devices/common/printer_description.cc
diff --git a/components/cloud_devices/common/printer_description.cc b/components/cloud_devices/common/printer_description.cc
index 86977958a7d5dce87c7c8dbf6be0b022494ab800..2f70fa6ce7722082b98311752e771f9f91c3c1ac 100644
--- a/components/cloud_devices/common/printer_description.cc
+++ b/components/cloud_devices/common/printer_description.cc
@@ -162,7 +162,7 @@ const int32 kSizeTrasholdUm = 1000;
static_cast<int>(height* unit_um + 0.5) \
}
-const struct MadiaDefinition {
+const struct MediaDefinition {
MediaType id;
const char* const json_name;
int width_um;
@@ -335,8 +335,17 @@ const struct MadiaDefinition {
MAP_CLOUD_PRINT_MEDIA_TYPE(OM_INVITE, 220, 220, kMmToUm)};
#undef MAP_CLOUD_PRINT_MEDIA_TYPE
-const MadiaDefinition* FindMediaBySize(int32 width_um, int32 height_um) {
- const MadiaDefinition* result = NULL;
+const MediaDefinition& FindMediaByType(MediaType type) {
+ for (size_t i = 0; i < arraysize(kMediaDefinitions); ++i) {
+ if (kMediaDefinitions[i].id == type)
+ return kMediaDefinitions[i];
+ }
+ NOTREACHED();
+ return kMediaDefinitions[0];
+}
+
+const MediaDefinition* FindMediaBySize(int32 width_um, int32 height_um) {
+ const MediaDefinition* result = NULL;
for (size_t i = 0; i < arraysize(kMediaDefinitions); ++i) {
int32 diff = std::max(std::abs(width_um - kMediaDefinitions[i].width_um),
std::abs(height_um - kMediaDefinitions[i].height_um));
@@ -432,6 +441,17 @@ Media::Media()
: type(CUSTOM_MEDIA), width_um(0), height_um(0), is_continuous_feed(false) {
}
+Media::Media(MediaType type)
+ : type(type),
+ width_um(0),
+ height_um(0),
+ is_continuous_feed(false) {
+ const MediaDefinition& media = FindMediaByType(type);
+ width_um = media.width_um;
+ height_um = media.height_um;
+ is_continuous_feed = width_um <= 0 || height_um <= 0;
+}
+
Media::Media(MediaType type, int32 width_um, int32 height_um)
: type(type),
width_um(width_um),
@@ -450,7 +470,7 @@ Media::Media(const std::string& custom_display_name,
}
bool Media::MatchBySize() {
- const MadiaDefinition* media = FindMediaBySize(width_um, height_um);
+ const MediaDefinition* media = FindMediaBySize(width_um, height_um);
if (!media)
return false;
type = media->id;

Powered by Google App Engine
This is Rietveld 408576698