blob: 0a75f197d31e11ce07228373d95b8f4a22684103 [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 = 1.0f;
};
} // namespace gfx
#endif // UI_GFX_IMAGE_IMAGE_PNG_REP_H_