15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)/* From pp_size.idl modified Tue Jun  3 12:31:20 2014. */
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef PPAPI_C_PP_SIZE_H_
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPAPI_C_PP_SIZE_H_
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_macros.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_stdint.h"
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @file
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This file defines the width and height of a 2D rectangle.
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @addtogroup Structs
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @{
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The <code>PP_Size</code> struct contains the size of a 2D rectangle.
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PP_Size {
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /** This value represents the width of the rectangle. */
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  int32_t width;
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /** This value represents the height of the rectangle. */
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  int32_t height;
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_Size, 8);
3446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
3546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)/**
3646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) * The <code>PP_FloatSize</code> struct contains the size of a 2D rectangle.
3746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) */
3846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)struct PP_FloatSize {
3946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  /** This value represents the width of the rectangle. */
4046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  float width;
4146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  /** This value represents the height of the rectangle. */
4246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  float height;
4346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)};
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @}
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @addtogroup Functions
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @{
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * PP_MakeSize() creates a <code>PP_Size</code> given a width and height as
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * int32_t values.
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @param[in] w An int32_t value representing a width.
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @param[in] h An int32_t value representing a height.
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @return A <code>PP_Size</code> structure.
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_INLINE struct PP_Size PP_MakeSize(int32_t w, int32_t h) {
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  struct PP_Size ret;
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ret.width = w;
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ret.height = h;
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return ret;
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
6846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
6946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)/**
7046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) * PP_MakeFloatSize() creates a <code>PP_FloatSize</code> given a
7146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) * width and height as float values.
7246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) *
7346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) * @param[in] w An float value representing a width.
7446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) * @param[in] h An float value representing a height.
7546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) *
7646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) * @return A <code>PP_FloatSize</code> structure.
7746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) */
7846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)PP_INLINE struct PP_FloatSize PP_MakeFloatSize(float w, float h) {
7946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  struct PP_FloatSize ret;
8046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  ret.width = w;
8146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  ret.height = h;
8246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  return ret;
8346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @}
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  /* PPAPI_C_PP_SIZE_H_ */
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
89