Home | History | Annotate | Download | only in printing
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "printing/page_size_margins.h"
      6 
      7 #include "base/logging.h"
      8 #include "base/values.h"
      9 #include "printing/print_job_constants.h"
     10 
     11 namespace printing {
     12 
     13 void GetCustomMarginsFromJobSettings(const base::DictionaryValue& settings,
     14                                      PageSizeMargins* page_size_margins) {
     15   const base::DictionaryValue* custom_margins;
     16   if (!settings.GetDictionary(kSettingMarginsCustom, &custom_margins) ||
     17       !custom_margins->GetDouble(kSettingMarginTop,
     18                                  &page_size_margins->margin_top) ||
     19       !custom_margins->GetDouble(kSettingMarginBottom,
     20                                  &page_size_margins->margin_bottom) ||
     21       !custom_margins->GetDouble(kSettingMarginLeft,
     22                                  &page_size_margins->margin_left) ||
     23       !custom_margins->GetDouble(kSettingMarginRight,
     24                                  &page_size_margins->margin_right)) {
     25     NOTREACHED();
     26   }
     27 }
     28 
     29 }  // namespace printing
     30