blob: cdfe41d27ba4b0f466ce405c7df337d1d42a44d2 [file] [log] [blame]
// Copyright (c) 2012 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 UI_GFX_IMAGE_IMAGE_PNG_REP_H_
#define UI_GFX_IMAGE_IMAGE_PNG_REP_H_
#include "base/memory/ref_counted_memory.h"
#include "ui/gfx/gfx_export.h"
namespace gfx {
class Size;
// An ImagePNGRep represents a bitmap's png encoded data and the scale factor it
// was intended for.
struct GFX_EXPORT ImagePNGRep {
public:
ImagePNGRep();
ImagePNGRep(const scoped_refptr<base::RefCountedMemory>& data,
float data_scale);
ImagePNGRep(const ImagePNGRep& other);
~ImagePNGRep();
// Width and height of the image, in pixels.
// If the image is invalid, returns gfx::Size(0, 0).
// Warning: This operation processes the entire image stream, so its result
// should be cached if it is needed multiple times.
gfx::Size Size() const;
scoped_refptr<base::RefCountedMemory> raw_data;
float scale;
};
} // namespace gfx
#endif // UI_GFX_IMAGE_IMAGE_PNG_REP_H_