Home | History | Annotate | Download | only in resources
      1 // Copyright 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 #ifndef CC_RESOURCES_TRANSFERABLE_RESOURCE_H_
      6 #define CC_RESOURCES_TRANSFERABLE_RESOURCE_H_
      7 
      8 #include <vector>
      9 
     10 #include "base/basictypes.h"
     11 #include "cc/base/cc_export.h"
     12 #include "cc/resources/resource_format.h"
     13 #include "gpu/command_buffer/common/mailbox_holder.h"
     14 #include "ui/gfx/size.h"
     15 
     16 namespace cc {
     17 
     18 struct ReturnedResource;
     19 typedef std::vector<ReturnedResource> ReturnedResourceArray;
     20 struct TransferableResource;
     21 typedef std::vector<TransferableResource> TransferableResourceArray;
     22 
     23 struct CC_EXPORT TransferableResource {
     24   TransferableResource();
     25   ~TransferableResource();
     26 
     27   ReturnedResource ToReturnedResource() const;
     28   static void ReturnResources(const TransferableResourceArray& input,
     29                               ReturnedResourceArray* output);
     30 
     31   unsigned id;
     32   ResourceFormat format;
     33   uint32 filter;
     34   gfx::Size size;
     35   gpu::MailboxHolder mailbox_holder;
     36   bool is_repeated;
     37   bool is_software;
     38 };
     39 
     40 }  // namespace cc
     41 
     42 #endif  // CC_RESOURCES_TRANSFERABLE_RESOURCE_H_
     43