// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: LayerScopePacket.proto

#ifndef PROTOBUF_LayerScopePacket_2eproto__INCLUDED
#define PROTOBUF_LayerScopePacket_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 3004000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/message_lite.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_util.h>
// @@protoc_insertion_point(includes)
namespace mozilla {
namespace layers {
namespace layerscope {
class ColorPacket;
class ColorPacketDefaultTypeInternal;
extern ColorPacketDefaultTypeInternal _ColorPacket_default_instance_;
class CommandPacket;
class CommandPacketDefaultTypeInternal;
extern CommandPacketDefaultTypeInternal _CommandPacket_default_instance_;
class DrawPacket;
class DrawPacketDefaultTypeInternal;
extern DrawPacketDefaultTypeInternal _DrawPacket_default_instance_;
class DrawPacket_Rect;
class DrawPacket_RectDefaultTypeInternal;
extern DrawPacket_RectDefaultTypeInternal _DrawPacket_Rect_default_instance_;
class FramePacket;
class FramePacketDefaultTypeInternal;
extern FramePacketDefaultTypeInternal _FramePacket_default_instance_;
class LayersPacket;
class LayersPacketDefaultTypeInternal;
extern LayersPacketDefaultTypeInternal _LayersPacket_default_instance_;
class LayersPacket_Layer;
class LayersPacket_LayerDefaultTypeInternal;
extern LayersPacket_LayerDefaultTypeInternal _LayersPacket_Layer_default_instance_;
class LayersPacket_Layer_Matrix;
class LayersPacket_Layer_MatrixDefaultTypeInternal;
extern LayersPacket_Layer_MatrixDefaultTypeInternal _LayersPacket_Layer_Matrix_default_instance_;
class LayersPacket_Layer_Rect;
class LayersPacket_Layer_RectDefaultTypeInternal;
extern LayersPacket_Layer_RectDefaultTypeInternal _LayersPacket_Layer_Rect_default_instance_;
class LayersPacket_Layer_Region;
class LayersPacket_Layer_RegionDefaultTypeInternal;
extern LayersPacket_Layer_RegionDefaultTypeInternal _LayersPacket_Layer_Region_default_instance_;
class LayersPacket_Layer_Shadow;
class LayersPacket_Layer_ShadowDefaultTypeInternal;
extern LayersPacket_Layer_ShadowDefaultTypeInternal _LayersPacket_Layer_Shadow_default_instance_;
class LayersPacket_Layer_Size;
class LayersPacket_Layer_SizeDefaultTypeInternal;
extern LayersPacket_Layer_SizeDefaultTypeInternal _LayersPacket_Layer_Size_default_instance_;
class MetaPacket;
class MetaPacketDefaultTypeInternal;
extern MetaPacketDefaultTypeInternal _MetaPacket_default_instance_;
class Packet;
class PacketDefaultTypeInternal;
extern PacketDefaultTypeInternal _Packet_default_instance_;
class TexturePacket;
class TexturePacketDefaultTypeInternal;
extern TexturePacketDefaultTypeInternal _TexturePacket_default_instance_;
class TexturePacket_EffectMask;
class TexturePacket_EffectMaskDefaultTypeInternal;
extern TexturePacket_EffectMaskDefaultTypeInternal _TexturePacket_EffectMask_default_instance_;
class TexturePacket_Matrix;
class TexturePacket_MatrixDefaultTypeInternal;
extern TexturePacket_MatrixDefaultTypeInternal _TexturePacket_Matrix_default_instance_;
class TexturePacket_Rect;
class TexturePacket_RectDefaultTypeInternal;
extern TexturePacket_RectDefaultTypeInternal _TexturePacket_Rect_default_instance_;
class TexturePacket_Size;
class TexturePacket_SizeDefaultTypeInternal;
extern TexturePacket_SizeDefaultTypeInternal _TexturePacket_Size_default_instance_;
}  // namespace layerscope
}  // namespace layers
}  // namespace mozilla

namespace mozilla {
namespace layers {
namespace layerscope {

namespace protobuf_LayerScopePacket_2eproto {
// Internal implementation detail -- do not call these.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[];
  static const ::google::protobuf::uint32 offsets[];
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static void InitDefaultsImpl();
};
void AddDescriptors();
void InitDefaults();
}  // namespace protobuf_LayerScopePacket_2eproto

enum TexturePacket_Filter {
  TexturePacket_Filter_GOOD = 0,
  TexturePacket_Filter_LINEAR = 1,
  TexturePacket_Filter_POINT = 2
};
bool TexturePacket_Filter_IsValid(int value);
const TexturePacket_Filter TexturePacket_Filter_Filter_MIN = TexturePacket_Filter_GOOD;
const TexturePacket_Filter TexturePacket_Filter_Filter_MAX = TexturePacket_Filter_POINT;
const int TexturePacket_Filter_Filter_ARRAYSIZE = TexturePacket_Filter_Filter_MAX + 1;

enum LayersPacket_Layer_LayerType {
  LayersPacket_Layer_LayerType_UnknownLayer = 0,
  LayersPacket_Layer_LayerType_LayerManager = 1,
  LayersPacket_Layer_LayerType_ContainerLayer = 2,
  LayersPacket_Layer_LayerType_PaintedLayer = 3,
  LayersPacket_Layer_LayerType_CanvasLayer = 4,
  LayersPacket_Layer_LayerType_ImageLayer = 5,
  LayersPacket_Layer_LayerType_ColorLayer = 6,
  LayersPacket_Layer_LayerType_RefLayer = 8,
  LayersPacket_Layer_LayerType_ReadbackLayer = 9,
  LayersPacket_Layer_LayerType_DisplayItemLayer = 10
};
bool LayersPacket_Layer_LayerType_IsValid(int value);
const LayersPacket_Layer_LayerType LayersPacket_Layer_LayerType_LayerType_MIN = LayersPacket_Layer_LayerType_UnknownLayer;
const LayersPacket_Layer_LayerType LayersPacket_Layer_LayerType_LayerType_MAX = LayersPacket_Layer_LayerType_DisplayItemLayer;
const int LayersPacket_Layer_LayerType_LayerType_ARRAYSIZE = LayersPacket_Layer_LayerType_LayerType_MAX + 1;

enum LayersPacket_Layer_ScrollingDirect {
  LayersPacket_Layer_ScrollingDirect_VERTICAL = 1,
  LayersPacket_Layer_ScrollingDirect_HORIZONTAL = 2
};
bool LayersPacket_Layer_ScrollingDirect_IsValid(int value);
const LayersPacket_Layer_ScrollingDirect LayersPacket_Layer_ScrollingDirect_ScrollingDirect_MIN = LayersPacket_Layer_ScrollingDirect_VERTICAL;
const LayersPacket_Layer_ScrollingDirect LayersPacket_Layer_ScrollingDirect_ScrollingDirect_MAX = LayersPacket_Layer_ScrollingDirect_HORIZONTAL;
const int LayersPacket_Layer_ScrollingDirect_ScrollingDirect_ARRAYSIZE = LayersPacket_Layer_ScrollingDirect_ScrollingDirect_MAX + 1;

enum LayersPacket_Layer_Filter {
  LayersPacket_Layer_Filter_FILTER_FAST = 0,
  LayersPacket_Layer_Filter_FILTER_GOOD = 1,
  LayersPacket_Layer_Filter_FILTER_BEST = 2,
  LayersPacket_Layer_Filter_FILTER_NEAREST = 3,
  LayersPacket_Layer_Filter_FILTER_BILINEAR = 4,
  LayersPacket_Layer_Filter_FILTER_GAUSSIAN = 5,
  LayersPacket_Layer_Filter_FILTER_SENTINEL = 6,
  LayersPacket_Layer_Filter_FILTER_LINEAR = 7,
  LayersPacket_Layer_Filter_FILTER_POINT = 8
};
bool LayersPacket_Layer_Filter_IsValid(int value);
const LayersPacket_Layer_Filter LayersPacket_Layer_Filter_Filter_MIN = LayersPacket_Layer_Filter_FILTER_FAST;
const LayersPacket_Layer_Filter LayersPacket_Layer_Filter_Filter_MAX = LayersPacket_Layer_Filter_FILTER_POINT;
const int LayersPacket_Layer_Filter_Filter_ARRAYSIZE = LayersPacket_Layer_Filter_Filter_MAX + 1;

enum Packet_DataType {
  Packet_DataType_FRAMESTART = 1,
  Packet_DataType_FRAMEEND = 2,
  Packet_DataType_COLOR = 3,
  Packet_DataType_TEXTURE = 4,
  Packet_DataType_LAYERS = 5,
  Packet_DataType_META = 6,
  Packet_DataType_DRAW = 7
};
bool Packet_DataType_IsValid(int value);
const Packet_DataType Packet_DataType_DataType_MIN = Packet_DataType_FRAMESTART;
const Packet_DataType Packet_DataType_DataType_MAX = Packet_DataType_DRAW;
const int Packet_DataType_DataType_ARRAYSIZE = Packet_DataType_DataType_MAX + 1;

enum CommandPacket_CmdType {
  CommandPacket_CmdType_NO_OP = 0,
  CommandPacket_CmdType_LAYERS_TREE = 1,
  CommandPacket_CmdType_LAYERS_BUFFER = 2
};
bool CommandPacket_CmdType_IsValid(int value);
const CommandPacket_CmdType CommandPacket_CmdType_CmdType_MIN = CommandPacket_CmdType_NO_OP;
const CommandPacket_CmdType CommandPacket_CmdType_CmdType_MAX = CommandPacket_CmdType_LAYERS_BUFFER;
const int CommandPacket_CmdType_CmdType_ARRAYSIZE = CommandPacket_CmdType_CmdType_MAX + 1;

// ===================================================================

class FramePacket : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.FramePacket) */ {
 public:
  FramePacket();
  virtual ~FramePacket();

  FramePacket(const FramePacket& from);

  inline FramePacket& operator=(const FramePacket& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  FramePacket(FramePacket&& from) noexcept
    : FramePacket() {
    *this = ::std::move(from);
  }

  inline FramePacket& operator=(FramePacket&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const FramePacket& default_instance();

  static inline const FramePacket* internal_default_instance() {
    return reinterpret_cast<const FramePacket*>(
               &_FramePacket_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    0;

  void Swap(FramePacket* other);
  friend void swap(FramePacket& a, FramePacket& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline FramePacket* New() const PROTOBUF_FINAL { return New(NULL); }

  FramePacket* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const FramePacket& from);
  void MergeFrom(const FramePacket& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(FramePacket* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional uint64 value = 1;
  bool has_value() const;
  void clear_value();
  static const int kValueFieldNumber = 1;
  ::google::protobuf::uint64 value() const;
  void set_value(::google::protobuf::uint64 value);

  // optional float scale = 2;
  bool has_scale() const;
  void clear_scale();
  static const int kScaleFieldNumber = 2;
  float scale() const;
  void set_scale(float value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.FramePacket)
 private:
  void set_has_value();
  void clear_has_value();
  void set_has_scale();
  void clear_has_scale();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::uint64 value_;
  float scale_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class ColorPacket : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.ColorPacket) */ {
 public:
  ColorPacket();
  virtual ~ColorPacket();

  ColorPacket(const ColorPacket& from);

  inline ColorPacket& operator=(const ColorPacket& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  ColorPacket(ColorPacket&& from) noexcept
    : ColorPacket() {
    *this = ::std::move(from);
  }

  inline ColorPacket& operator=(ColorPacket&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ColorPacket& default_instance();

  static inline const ColorPacket* internal_default_instance() {
    return reinterpret_cast<const ColorPacket*>(
               &_ColorPacket_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    1;

  void Swap(ColorPacket* other);
  friend void swap(ColorPacket& a, ColorPacket& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline ColorPacket* New() const PROTOBUF_FINAL { return New(NULL); }

  ColorPacket* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const ColorPacket& from);
  void MergeFrom(const ColorPacket& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ColorPacket* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // required uint64 layerref = 1;
  bool has_layerref() const;
  void clear_layerref();
  static const int kLayerrefFieldNumber = 1;
  ::google::protobuf::uint64 layerref() const;
  void set_layerref(::google::protobuf::uint64 value);

  // optional uint32 width = 2;
  bool has_width() const;
  void clear_width();
  static const int kWidthFieldNumber = 2;
  ::google::protobuf::uint32 width() const;
  void set_width(::google::protobuf::uint32 value);

  // optional uint32 height = 3;
  bool has_height() const;
  void clear_height();
  static const int kHeightFieldNumber = 3;
  ::google::protobuf::uint32 height() const;
  void set_height(::google::protobuf::uint32 value);

  // optional uint32 color = 4;
  bool has_color() const;
  void clear_color();
  static const int kColorFieldNumber = 4;
  ::google::protobuf::uint32 color() const;
  void set_color(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.ColorPacket)
 private:
  void set_has_layerref();
  void clear_has_layerref();
  void set_has_width();
  void clear_has_width();
  void set_has_height();
  void clear_has_height();
  void set_has_color();
  void clear_has_color();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::uint64 layerref_;
  ::google::protobuf::uint32 width_;
  ::google::protobuf::uint32 height_;
  ::google::protobuf::uint32 color_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class TexturePacket_Rect : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.TexturePacket.Rect) */ {
 public:
  TexturePacket_Rect();
  virtual ~TexturePacket_Rect();

  TexturePacket_Rect(const TexturePacket_Rect& from);

  inline TexturePacket_Rect& operator=(const TexturePacket_Rect& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  TexturePacket_Rect(TexturePacket_Rect&& from) noexcept
    : TexturePacket_Rect() {
    *this = ::std::move(from);
  }

  inline TexturePacket_Rect& operator=(TexturePacket_Rect&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const TexturePacket_Rect& default_instance();

  static inline const TexturePacket_Rect* internal_default_instance() {
    return reinterpret_cast<const TexturePacket_Rect*>(
               &_TexturePacket_Rect_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    2;

  void Swap(TexturePacket_Rect* other);
  friend void swap(TexturePacket_Rect& a, TexturePacket_Rect& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline TexturePacket_Rect* New() const PROTOBUF_FINAL { return New(NULL); }

  TexturePacket_Rect* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const TexturePacket_Rect& from);
  void MergeFrom(const TexturePacket_Rect& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(TexturePacket_Rect* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional float x = 1;
  bool has_x() const;
  void clear_x();
  static const int kXFieldNumber = 1;
  float x() const;
  void set_x(float value);

  // optional float y = 2;
  bool has_y() const;
  void clear_y();
  static const int kYFieldNumber = 2;
  float y() const;
  void set_y(float value);

  // optional float w = 3;
  bool has_w() const;
  void clear_w();
  static const int kWFieldNumber = 3;
  float w() const;
  void set_w(float value);

  // optional float h = 4;
  bool has_h() const;
  void clear_h();
  static const int kHFieldNumber = 4;
  float h() const;
  void set_h(float value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.TexturePacket.Rect)
 private:
  void set_has_x();
  void clear_has_x();
  void set_has_y();
  void clear_has_y();
  void set_has_w();
  void clear_has_w();
  void set_has_h();
  void clear_has_h();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  float x_;
  float y_;
  float w_;
  float h_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class TexturePacket_Size : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.TexturePacket.Size) */ {
 public:
  TexturePacket_Size();
  virtual ~TexturePacket_Size();

  TexturePacket_Size(const TexturePacket_Size& from);

  inline TexturePacket_Size& operator=(const TexturePacket_Size& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  TexturePacket_Size(TexturePacket_Size&& from) noexcept
    : TexturePacket_Size() {
    *this = ::std::move(from);
  }

  inline TexturePacket_Size& operator=(TexturePacket_Size&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const TexturePacket_Size& default_instance();

  static inline const TexturePacket_Size* internal_default_instance() {
    return reinterpret_cast<const TexturePacket_Size*>(
               &_TexturePacket_Size_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    3;

  void Swap(TexturePacket_Size* other);
  friend void swap(TexturePacket_Size& a, TexturePacket_Size& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline TexturePacket_Size* New() const PROTOBUF_FINAL { return New(NULL); }

  TexturePacket_Size* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const TexturePacket_Size& from);
  void MergeFrom(const TexturePacket_Size& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(TexturePacket_Size* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional int32 w = 1;
  bool has_w() const;
  void clear_w();
  static const int kWFieldNumber = 1;
  ::google::protobuf::int32 w() const;
  void set_w(::google::protobuf::int32 value);

  // optional int32 h = 2;
  bool has_h() const;
  void clear_h();
  static const int kHFieldNumber = 2;
  ::google::protobuf::int32 h() const;
  void set_h(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.TexturePacket.Size)
 private:
  void set_has_w();
  void clear_has_w();
  void set_has_h();
  void clear_has_h();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::int32 w_;
  ::google::protobuf::int32 h_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class TexturePacket_Matrix : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.TexturePacket.Matrix) */ {
 public:
  TexturePacket_Matrix();
  virtual ~TexturePacket_Matrix();

  TexturePacket_Matrix(const TexturePacket_Matrix& from);

  inline TexturePacket_Matrix& operator=(const TexturePacket_Matrix& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  TexturePacket_Matrix(TexturePacket_Matrix&& from) noexcept
    : TexturePacket_Matrix() {
    *this = ::std::move(from);
  }

  inline TexturePacket_Matrix& operator=(TexturePacket_Matrix&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const TexturePacket_Matrix& default_instance();

  static inline const TexturePacket_Matrix* internal_default_instance() {
    return reinterpret_cast<const TexturePacket_Matrix*>(
               &_TexturePacket_Matrix_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    4;

  void Swap(TexturePacket_Matrix* other);
  friend void swap(TexturePacket_Matrix& a, TexturePacket_Matrix& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline TexturePacket_Matrix* New() const PROTOBUF_FINAL { return New(NULL); }

  TexturePacket_Matrix* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const TexturePacket_Matrix& from);
  void MergeFrom(const TexturePacket_Matrix& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(TexturePacket_Matrix* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // repeated float m = 3;
  int m_size() const;
  void clear_m();
  static const int kMFieldNumber = 3;
  float m(int index) const;
  void set_m(int index, float value);
  void add_m(float value);
  const ::google::protobuf::RepeatedField< float >&
      m() const;
  ::google::protobuf::RepeatedField< float >*
      mutable_m();

  // optional bool is2D = 1;
  bool has_is2d() const;
  void clear_is2d();
  static const int kIs2DFieldNumber = 1;
  bool is2d() const;
  void set_is2d(bool value);

  // optional bool isId = 2;
  bool has_isid() const;
  void clear_isid();
  static const int kIsIdFieldNumber = 2;
  bool isid() const;
  void set_isid(bool value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.TexturePacket.Matrix)
 private:
  void set_has_is2d();
  void clear_has_is2d();
  void set_has_isid();
  void clear_has_isid();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedField< float > m_;
  bool is2d_;
  bool isid_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class TexturePacket_EffectMask : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.TexturePacket.EffectMask) */ {
 public:
  TexturePacket_EffectMask();
  virtual ~TexturePacket_EffectMask();

  TexturePacket_EffectMask(const TexturePacket_EffectMask& from);

  inline TexturePacket_EffectMask& operator=(const TexturePacket_EffectMask& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  TexturePacket_EffectMask(TexturePacket_EffectMask&& from) noexcept
    : TexturePacket_EffectMask() {
    *this = ::std::move(from);
  }

  inline TexturePacket_EffectMask& operator=(TexturePacket_EffectMask&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const TexturePacket_EffectMask& default_instance();

  static inline const TexturePacket_EffectMask* internal_default_instance() {
    return reinterpret_cast<const TexturePacket_EffectMask*>(
               &_TexturePacket_EffectMask_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    5;

  void Swap(TexturePacket_EffectMask* other);
  friend void swap(TexturePacket_EffectMask& a, TexturePacket_EffectMask& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline TexturePacket_EffectMask* New() const PROTOBUF_FINAL { return New(NULL); }

  TexturePacket_EffectMask* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const TexturePacket_EffectMask& from);
  void MergeFrom(const TexturePacket_EffectMask& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(TexturePacket_EffectMask* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional .mozilla.layers.layerscope.TexturePacket.Size mSize = 2;
  bool has_msize() const;
  void clear_msize();
  static const int kMSizeFieldNumber = 2;
  const ::mozilla::layers::layerscope::TexturePacket_Size& msize() const;
  ::mozilla::layers::layerscope::TexturePacket_Size* mutable_msize();
  ::mozilla::layers::layerscope::TexturePacket_Size* release_msize();
  void set_allocated_msize(::mozilla::layers::layerscope::TexturePacket_Size* msize);

  // optional .mozilla.layers.layerscope.TexturePacket.Matrix mMaskTransform = 3;
  bool has_mmasktransform() const;
  void clear_mmasktransform();
  static const int kMMaskTransformFieldNumber = 3;
  const ::mozilla::layers::layerscope::TexturePacket_Matrix& mmasktransform() const;
  ::mozilla::layers::layerscope::TexturePacket_Matrix* mutable_mmasktransform();
  ::mozilla::layers::layerscope::TexturePacket_Matrix* release_mmasktransform();
  void set_allocated_mmasktransform(::mozilla::layers::layerscope::TexturePacket_Matrix* mmasktransform);

  // optional bool mIs3D = 1;
  bool has_mis3d() const;
  void clear_mis3d();
  static const int kMIs3DFieldNumber = 1;
  bool mis3d() const;
  void set_mis3d(bool value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.TexturePacket.EffectMask)
 private:
  void set_has_mis3d();
  void clear_has_mis3d();
  void set_has_msize();
  void clear_has_msize();
  void set_has_mmasktransform();
  void clear_has_mmasktransform();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::mozilla::layers::layerscope::TexturePacket_Size* msize_;
  ::mozilla::layers::layerscope::TexturePacket_Matrix* mmasktransform_;
  bool mis3d_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class TexturePacket : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.TexturePacket) */ {
 public:
  TexturePacket();
  virtual ~TexturePacket();

  TexturePacket(const TexturePacket& from);

  inline TexturePacket& operator=(const TexturePacket& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  TexturePacket(TexturePacket&& from) noexcept
    : TexturePacket() {
    *this = ::std::move(from);
  }

  inline TexturePacket& operator=(TexturePacket&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const TexturePacket& default_instance();

  static inline const TexturePacket* internal_default_instance() {
    return reinterpret_cast<const TexturePacket*>(
               &_TexturePacket_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    6;

  void Swap(TexturePacket* other);
  friend void swap(TexturePacket& a, TexturePacket& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline TexturePacket* New() const PROTOBUF_FINAL { return New(NULL); }

  TexturePacket* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const TexturePacket& from);
  void MergeFrom(const TexturePacket& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(TexturePacket* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef TexturePacket_Rect Rect;
  typedef TexturePacket_Size Size;
  typedef TexturePacket_Matrix Matrix;
  typedef TexturePacket_EffectMask EffectMask;

  typedef TexturePacket_Filter Filter;
  static const Filter GOOD =
    TexturePacket_Filter_GOOD;
  static const Filter LINEAR =
    TexturePacket_Filter_LINEAR;
  static const Filter POINT =
    TexturePacket_Filter_POINT;
  static inline bool Filter_IsValid(int value) {
    return TexturePacket_Filter_IsValid(value);
  }
  static const Filter Filter_MIN =
    TexturePacket_Filter_Filter_MIN;
  static const Filter Filter_MAX =
    TexturePacket_Filter_Filter_MAX;
  static const int Filter_ARRAYSIZE =
    TexturePacket_Filter_Filter_ARRAYSIZE;

  // accessors -------------------------------------------------------

  // optional bytes data = 9;
  bool has_data() const;
  void clear_data();
  static const int kDataFieldNumber = 9;
  const ::std::string& data() const;
  void set_data(const ::std::string& value);
  #if LANG_CXX11
  void set_data(::std::string&& value);
  #endif
  void set_data(const char* value);
  void set_data(const void* value, size_t size);
  ::std::string* mutable_data();
  ::std::string* release_data();
  void set_allocated_data(::std::string* data);

  // optional .mozilla.layers.layerscope.TexturePacket.Rect mTextureCoords = 10;
  bool has_mtexturecoords() const;
  void clear_mtexturecoords();
  static const int kMTextureCoordsFieldNumber = 10;
  const ::mozilla::layers::layerscope::TexturePacket_Rect& mtexturecoords() const;
  ::mozilla::layers::layerscope::TexturePacket_Rect* mutable_mtexturecoords();
  ::mozilla::layers::layerscope::TexturePacket_Rect* release_mtexturecoords();
  void set_allocated_mtexturecoords(::mozilla::layers::layerscope::TexturePacket_Rect* mtexturecoords);

  // optional .mozilla.layers.layerscope.TexturePacket.EffectMask mask = 21;
  bool has_mask() const;
  void clear_mask();
  static const int kMaskFieldNumber = 21;
  const ::mozilla::layers::layerscope::TexturePacket_EffectMask& mask() const;
  ::mozilla::layers::layerscope::TexturePacket_EffectMask* mutable_mask();
  ::mozilla::layers::layerscope::TexturePacket_EffectMask* release_mask();
  void set_allocated_mask(::mozilla::layers::layerscope::TexturePacket_EffectMask* mask);

  // required uint64 layerref = 1;
  bool has_layerref() const;
  void clear_layerref();
  static const int kLayerrefFieldNumber = 1;
  ::google::protobuf::uint64 layerref() const;
  void set_layerref(::google::protobuf::uint64 value);

  // optional uint32 width = 2;
  bool has_width() const;
  void clear_width();
  static const int kWidthFieldNumber = 2;
  ::google::protobuf::uint32 width() const;
  void set_width(::google::protobuf::uint32 value);

  // optional uint32 height = 3;
  bool has_height() const;
  void clear_height();
  static const int kHeightFieldNumber = 3;
  ::google::protobuf::uint32 height() const;
  void set_height(::google::protobuf::uint32 value);

  // optional uint32 stride = 4;
  bool has_stride() const;
  void clear_stride();
  static const int kStrideFieldNumber = 4;
  ::google::protobuf::uint32 stride() const;
  void set_stride(::google::protobuf::uint32 value);

  // optional uint32 name = 5;
  bool has_name() const;
  void clear_name();
  static const int kNameFieldNumber = 5;
  ::google::protobuf::uint32 name() const;
  void set_name(::google::protobuf::uint32 value);

  // optional uint32 target = 6;
  bool has_target() const;
  void clear_target();
  static const int kTargetFieldNumber = 6;
  ::google::protobuf::uint32 target() const;
  void set_target(::google::protobuf::uint32 value);

  // optional uint32 dataformat = 7;
  bool has_dataformat() const;
  void clear_dataformat();
  static const int kDataformatFieldNumber = 7;
  ::google::protobuf::uint32 dataformat() const;
  void set_dataformat(::google::protobuf::uint32 value);

  // optional uint64 glcontext = 8;
  bool has_glcontext() const;
  void clear_glcontext();
  static const int kGlcontextFieldNumber = 8;
  ::google::protobuf::uint64 glcontext() const;
  void set_glcontext(::google::protobuf::uint64 value);

  // optional .mozilla.layers.layerscope.TexturePacket.Filter mFilter = 12;
  bool has_mfilter() const;
  void clear_mfilter();
  static const int kMFilterFieldNumber = 12;
  ::mozilla::layers::layerscope::TexturePacket_Filter mfilter() const;
  void set_mfilter(::mozilla::layers::layerscope::TexturePacket_Filter value);

  // optional bool mPremultiplied = 11;
  bool has_mpremultiplied() const;
  void clear_mpremultiplied();
  static const int kMPremultipliedFieldNumber = 11;
  bool mpremultiplied() const;
  void set_mpremultiplied(bool value);

  // optional bool isMask = 20;
  bool has_ismask() const;
  void clear_ismask();
  static const int kIsMaskFieldNumber = 20;
  bool ismask() const;
  void set_ismask(bool value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.TexturePacket)
 private:
  void set_has_layerref();
  void clear_has_layerref();
  void set_has_width();
  void clear_has_width();
  void set_has_height();
  void clear_has_height();
  void set_has_stride();
  void clear_has_stride();
  void set_has_name();
  void clear_has_name();
  void set_has_target();
  void clear_has_target();
  void set_has_dataformat();
  void clear_has_dataformat();
  void set_has_glcontext();
  void clear_has_glcontext();
  void set_has_data();
  void clear_has_data();
  void set_has_mtexturecoords();
  void clear_has_mtexturecoords();
  void set_has_mpremultiplied();
  void clear_has_mpremultiplied();
  void set_has_mfilter();
  void clear_has_mfilter();
  void set_has_ismask();
  void clear_has_ismask();
  void set_has_mask();
  void clear_has_mask();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr data_;
  ::mozilla::layers::layerscope::TexturePacket_Rect* mtexturecoords_;
  ::mozilla::layers::layerscope::TexturePacket_EffectMask* mask_;
  ::google::protobuf::uint64 layerref_;
  ::google::protobuf::uint32 width_;
  ::google::protobuf::uint32 height_;
  ::google::protobuf::uint32 stride_;
  ::google::protobuf::uint32 name_;
  ::google::protobuf::uint32 target_;
  ::google::protobuf::uint32 dataformat_;
  ::google::protobuf::uint64 glcontext_;
  int mfilter_;
  bool mpremultiplied_;
  bool ismask_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class LayersPacket_Layer_Size : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.LayersPacket.Layer.Size) */ {
 public:
  LayersPacket_Layer_Size();
  virtual ~LayersPacket_Layer_Size();

  LayersPacket_Layer_Size(const LayersPacket_Layer_Size& from);

  inline LayersPacket_Layer_Size& operator=(const LayersPacket_Layer_Size& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  LayersPacket_Layer_Size(LayersPacket_Layer_Size&& from) noexcept
    : LayersPacket_Layer_Size() {
    *this = ::std::move(from);
  }

  inline LayersPacket_Layer_Size& operator=(LayersPacket_Layer_Size&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const LayersPacket_Layer_Size& default_instance();

  static inline const LayersPacket_Layer_Size* internal_default_instance() {
    return reinterpret_cast<const LayersPacket_Layer_Size*>(
               &_LayersPacket_Layer_Size_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    7;

  void Swap(LayersPacket_Layer_Size* other);
  friend void swap(LayersPacket_Layer_Size& a, LayersPacket_Layer_Size& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline LayersPacket_Layer_Size* New() const PROTOBUF_FINAL { return New(NULL); }

  LayersPacket_Layer_Size* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const LayersPacket_Layer_Size& from);
  void MergeFrom(const LayersPacket_Layer_Size& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LayersPacket_Layer_Size* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional int32 w = 1;
  bool has_w() const;
  void clear_w();
  static const int kWFieldNumber = 1;
  ::google::protobuf::int32 w() const;
  void set_w(::google::protobuf::int32 value);

  // optional int32 h = 2;
  bool has_h() const;
  void clear_h();
  static const int kHFieldNumber = 2;
  ::google::protobuf::int32 h() const;
  void set_h(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer.Size)
 private:
  void set_has_w();
  void clear_has_w();
  void set_has_h();
  void clear_has_h();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::int32 w_;
  ::google::protobuf::int32 h_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class LayersPacket_Layer_Rect : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.LayersPacket.Layer.Rect) */ {
 public:
  LayersPacket_Layer_Rect();
  virtual ~LayersPacket_Layer_Rect();

  LayersPacket_Layer_Rect(const LayersPacket_Layer_Rect& from);

  inline LayersPacket_Layer_Rect& operator=(const LayersPacket_Layer_Rect& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  LayersPacket_Layer_Rect(LayersPacket_Layer_Rect&& from) noexcept
    : LayersPacket_Layer_Rect() {
    *this = ::std::move(from);
  }

  inline LayersPacket_Layer_Rect& operator=(LayersPacket_Layer_Rect&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const LayersPacket_Layer_Rect& default_instance();

  static inline const LayersPacket_Layer_Rect* internal_default_instance() {
    return reinterpret_cast<const LayersPacket_Layer_Rect*>(
               &_LayersPacket_Layer_Rect_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    8;

  void Swap(LayersPacket_Layer_Rect* other);
  friend void swap(LayersPacket_Layer_Rect& a, LayersPacket_Layer_Rect& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline LayersPacket_Layer_Rect* New() const PROTOBUF_FINAL { return New(NULL); }

  LayersPacket_Layer_Rect* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const LayersPacket_Layer_Rect& from);
  void MergeFrom(const LayersPacket_Layer_Rect& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LayersPacket_Layer_Rect* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional int32 x = 1;
  bool has_x() const;
  void clear_x();
  static const int kXFieldNumber = 1;
  ::google::protobuf::int32 x() const;
  void set_x(::google::protobuf::int32 value);

  // optional int32 y = 2;
  bool has_y() const;
  void clear_y();
  static const int kYFieldNumber = 2;
  ::google::protobuf::int32 y() const;
  void set_y(::google::protobuf::int32 value);

  // optional int32 w = 3;
  bool has_w() const;
  void clear_w();
  static const int kWFieldNumber = 3;
  ::google::protobuf::int32 w() const;
  void set_w(::google::protobuf::int32 value);

  // optional int32 h = 4;
  bool has_h() const;
  void clear_h();
  static const int kHFieldNumber = 4;
  ::google::protobuf::int32 h() const;
  void set_h(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
 private:
  void set_has_x();
  void clear_has_x();
  void set_has_y();
  void clear_has_y();
  void set_has_w();
  void clear_has_w();
  void set_has_h();
  void clear_has_h();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::int32 x_;
  ::google::protobuf::int32 y_;
  ::google::protobuf::int32 w_;
  ::google::protobuf::int32 h_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class LayersPacket_Layer_Region : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.LayersPacket.Layer.Region) */ {
 public:
  LayersPacket_Layer_Region();
  virtual ~LayersPacket_Layer_Region();

  LayersPacket_Layer_Region(const LayersPacket_Layer_Region& from);

  inline LayersPacket_Layer_Region& operator=(const LayersPacket_Layer_Region& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  LayersPacket_Layer_Region(LayersPacket_Layer_Region&& from) noexcept
    : LayersPacket_Layer_Region() {
    *this = ::std::move(from);
  }

  inline LayersPacket_Layer_Region& operator=(LayersPacket_Layer_Region&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const LayersPacket_Layer_Region& default_instance();

  static inline const LayersPacket_Layer_Region* internal_default_instance() {
    return reinterpret_cast<const LayersPacket_Layer_Region*>(
               &_LayersPacket_Layer_Region_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    9;

  void Swap(LayersPacket_Layer_Region* other);
  friend void swap(LayersPacket_Layer_Region& a, LayersPacket_Layer_Region& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline LayersPacket_Layer_Region* New() const PROTOBUF_FINAL { return New(NULL); }

  LayersPacket_Layer_Region* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const LayersPacket_Layer_Region& from);
  void MergeFrom(const LayersPacket_Layer_Region& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LayersPacket_Layer_Region* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
  int r_size() const;
  void clear_r();
  static const int kRFieldNumber = 1;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& r(int index) const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* mutable_r(int index);
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* add_r();
  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect >*
      mutable_r();
  const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect >&
      r() const;

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer.Region)
 private:

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect > r_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class LayersPacket_Layer_Matrix : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.LayersPacket.Layer.Matrix) */ {
 public:
  LayersPacket_Layer_Matrix();
  virtual ~LayersPacket_Layer_Matrix();

  LayersPacket_Layer_Matrix(const LayersPacket_Layer_Matrix& from);

  inline LayersPacket_Layer_Matrix& operator=(const LayersPacket_Layer_Matrix& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  LayersPacket_Layer_Matrix(LayersPacket_Layer_Matrix&& from) noexcept
    : LayersPacket_Layer_Matrix() {
    *this = ::std::move(from);
  }

  inline LayersPacket_Layer_Matrix& operator=(LayersPacket_Layer_Matrix&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const LayersPacket_Layer_Matrix& default_instance();

  static inline const LayersPacket_Layer_Matrix* internal_default_instance() {
    return reinterpret_cast<const LayersPacket_Layer_Matrix*>(
               &_LayersPacket_Layer_Matrix_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    10;

  void Swap(LayersPacket_Layer_Matrix* other);
  friend void swap(LayersPacket_Layer_Matrix& a, LayersPacket_Layer_Matrix& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline LayersPacket_Layer_Matrix* New() const PROTOBUF_FINAL { return New(NULL); }

  LayersPacket_Layer_Matrix* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const LayersPacket_Layer_Matrix& from);
  void MergeFrom(const LayersPacket_Layer_Matrix& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LayersPacket_Layer_Matrix* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // repeated float m = 3;
  int m_size() const;
  void clear_m();
  static const int kMFieldNumber = 3;
  float m(int index) const;
  void set_m(int index, float value);
  void add_m(float value);
  const ::google::protobuf::RepeatedField< float >&
      m() const;
  ::google::protobuf::RepeatedField< float >*
      mutable_m();

  // optional bool is2D = 1;
  bool has_is2d() const;
  void clear_is2d();
  static const int kIs2DFieldNumber = 1;
  bool is2d() const;
  void set_is2d(bool value);

  // optional bool isId = 2;
  bool has_isid() const;
  void clear_isid();
  static const int kIsIdFieldNumber = 2;
  bool isid() const;
  void set_isid(bool value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
 private:
  void set_has_is2d();
  void clear_has_is2d();
  void set_has_isid();
  void clear_has_isid();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedField< float > m_;
  bool is2d_;
  bool isid_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class LayersPacket_Layer_Shadow : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.LayersPacket.Layer.Shadow) */ {
 public:
  LayersPacket_Layer_Shadow();
  virtual ~LayersPacket_Layer_Shadow();

  LayersPacket_Layer_Shadow(const LayersPacket_Layer_Shadow& from);

  inline LayersPacket_Layer_Shadow& operator=(const LayersPacket_Layer_Shadow& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  LayersPacket_Layer_Shadow(LayersPacket_Layer_Shadow&& from) noexcept
    : LayersPacket_Layer_Shadow() {
    *this = ::std::move(from);
  }

  inline LayersPacket_Layer_Shadow& operator=(LayersPacket_Layer_Shadow&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const LayersPacket_Layer_Shadow& default_instance();

  static inline const LayersPacket_Layer_Shadow* internal_default_instance() {
    return reinterpret_cast<const LayersPacket_Layer_Shadow*>(
               &_LayersPacket_Layer_Shadow_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    11;

  void Swap(LayersPacket_Layer_Shadow* other);
  friend void swap(LayersPacket_Layer_Shadow& a, LayersPacket_Layer_Shadow& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline LayersPacket_Layer_Shadow* New() const PROTOBUF_FINAL { return New(NULL); }

  LayersPacket_Layer_Shadow* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const LayersPacket_Layer_Shadow& from);
  void MergeFrom(const LayersPacket_Layer_Shadow& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LayersPacket_Layer_Shadow* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
  bool has_clip() const;
  void clear_clip();
  static const int kClipFieldNumber = 1;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& clip() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* mutable_clip();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* release_clip();
  void set_allocated_clip(::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
  bool has_transform() const;
  void clear_transform();
  static const int kTransformFieldNumber = 2;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix& transform() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* mutable_transform();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* release_transform();
  void set_allocated_transform(::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
  bool has_vregion() const;
  void clear_vregion();
  static const int kVRegionFieldNumber = 3;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& vregion() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_vregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_vregion();
  void set_allocated_vregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
 private:
  void set_has_clip();
  void clear_has_clip();
  void set_has_transform();
  void clear_has_transform();
  void set_has_vregion();
  void clear_has_vregion();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class LayersPacket_Layer : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.LayersPacket.Layer) */ {
 public:
  LayersPacket_Layer();
  virtual ~LayersPacket_Layer();

  LayersPacket_Layer(const LayersPacket_Layer& from);

  inline LayersPacket_Layer& operator=(const LayersPacket_Layer& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  LayersPacket_Layer(LayersPacket_Layer&& from) noexcept
    : LayersPacket_Layer() {
    *this = ::std::move(from);
  }

  inline LayersPacket_Layer& operator=(LayersPacket_Layer&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const LayersPacket_Layer& default_instance();

  static inline const LayersPacket_Layer* internal_default_instance() {
    return reinterpret_cast<const LayersPacket_Layer*>(
               &_LayersPacket_Layer_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    12;

  void Swap(LayersPacket_Layer* other);
  friend void swap(LayersPacket_Layer& a, LayersPacket_Layer& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline LayersPacket_Layer* New() const PROTOBUF_FINAL { return New(NULL); }

  LayersPacket_Layer* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const LayersPacket_Layer& from);
  void MergeFrom(const LayersPacket_Layer& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LayersPacket_Layer* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef LayersPacket_Layer_Size Size;
  typedef LayersPacket_Layer_Rect Rect;
  typedef LayersPacket_Layer_Region Region;
  typedef LayersPacket_Layer_Matrix Matrix;
  typedef LayersPacket_Layer_Shadow Shadow;

  typedef LayersPacket_Layer_LayerType LayerType;
  static const LayerType UnknownLayer =
    LayersPacket_Layer_LayerType_UnknownLayer;
  static const LayerType LayerManager =
    LayersPacket_Layer_LayerType_LayerManager;
  static const LayerType ContainerLayer =
    LayersPacket_Layer_LayerType_ContainerLayer;
  static const LayerType PaintedLayer =
    LayersPacket_Layer_LayerType_PaintedLayer;
  static const LayerType CanvasLayer =
    LayersPacket_Layer_LayerType_CanvasLayer;
  static const LayerType ImageLayer =
    LayersPacket_Layer_LayerType_ImageLayer;
  static const LayerType ColorLayer =
    LayersPacket_Layer_LayerType_ColorLayer;
  static const LayerType RefLayer =
    LayersPacket_Layer_LayerType_RefLayer;
  static const LayerType ReadbackLayer =
    LayersPacket_Layer_LayerType_ReadbackLayer;
  static const LayerType DisplayItemLayer =
    LayersPacket_Layer_LayerType_DisplayItemLayer;
  static inline bool LayerType_IsValid(int value) {
    return LayersPacket_Layer_LayerType_IsValid(value);
  }
  static const LayerType LayerType_MIN =
    LayersPacket_Layer_LayerType_LayerType_MIN;
  static const LayerType LayerType_MAX =
    LayersPacket_Layer_LayerType_LayerType_MAX;
  static const int LayerType_ARRAYSIZE =
    LayersPacket_Layer_LayerType_LayerType_ARRAYSIZE;

  typedef LayersPacket_Layer_ScrollingDirect ScrollingDirect;
  static const ScrollingDirect VERTICAL =
    LayersPacket_Layer_ScrollingDirect_VERTICAL;
  static const ScrollingDirect HORIZONTAL =
    LayersPacket_Layer_ScrollingDirect_HORIZONTAL;
  static inline bool ScrollingDirect_IsValid(int value) {
    return LayersPacket_Layer_ScrollingDirect_IsValid(value);
  }
  static const ScrollingDirect ScrollingDirect_MIN =
    LayersPacket_Layer_ScrollingDirect_ScrollingDirect_MIN;
  static const ScrollingDirect ScrollingDirect_MAX =
    LayersPacket_Layer_ScrollingDirect_ScrollingDirect_MAX;
  static const int ScrollingDirect_ARRAYSIZE =
    LayersPacket_Layer_ScrollingDirect_ScrollingDirect_ARRAYSIZE;

  typedef LayersPacket_Layer_Filter Filter;
  static const Filter FILTER_FAST =
    LayersPacket_Layer_Filter_FILTER_FAST;
  static const Filter FILTER_GOOD =
    LayersPacket_Layer_Filter_FILTER_GOOD;
  static const Filter FILTER_BEST =
    LayersPacket_Layer_Filter_FILTER_BEST;
  static const Filter FILTER_NEAREST =
    LayersPacket_Layer_Filter_FILTER_NEAREST;
  static const Filter FILTER_BILINEAR =
    LayersPacket_Layer_Filter_FILTER_BILINEAR;
  static const Filter FILTER_GAUSSIAN =
    LayersPacket_Layer_Filter_FILTER_GAUSSIAN;
  static const Filter FILTER_SENTINEL =
    LayersPacket_Layer_Filter_FILTER_SENTINEL;
  static const Filter FILTER_LINEAR =
    LayersPacket_Layer_Filter_FILTER_LINEAR;
  static const Filter FILTER_POINT =
    LayersPacket_Layer_Filter_FILTER_POINT;
  static inline bool Filter_IsValid(int value) {
    return LayersPacket_Layer_Filter_IsValid(value);
  }
  static const Filter Filter_MIN =
    LayersPacket_Layer_Filter_Filter_MIN;
  static const Filter Filter_MAX =
    LayersPacket_Layer_Filter_Filter_MAX;
  static const int Filter_ARRAYSIZE =
    LayersPacket_Layer_Filter_Filter_ARRAYSIZE;

  // accessors -------------------------------------------------------

  // optional bytes displayListLog = 106;
  bool has_displaylistlog() const;
  void clear_displaylistlog();
  static const int kDisplayListLogFieldNumber = 106;
  const ::std::string& displaylistlog() const;
  void set_displaylistlog(const ::std::string& value);
  #if LANG_CXX11
  void set_displaylistlog(::std::string&& value);
  #endif
  void set_displaylistlog(const char* value);
  void set_displaylistlog(const void* value, size_t size);
  ::std::string* mutable_displaylistlog();
  ::std::string* release_displaylistlog();
  void set_allocated_displaylistlog(::std::string* displaylistlog);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 10;
  bool has_clip() const;
  void clear_clip();
  static const int kClipFieldNumber = 10;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& clip() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* mutable_clip();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* release_clip();
  void set_allocated_clip(::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 11;
  bool has_transform() const;
  void clear_transform();
  static const int kTransformFieldNumber = 11;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix& transform() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* mutable_transform();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* release_transform();
  void set_allocated_transform(::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 12;
  bool has_vregion() const;
  void clear_vregion();
  static const int kVRegionFieldNumber = 12;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& vregion() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_vregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_vregion();
  void set_allocated_vregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Shadow shadow = 13;
  bool has_shadow() const;
  void clear_shadow();
  static const int kShadowFieldNumber = 13;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow& shadow() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* mutable_shadow();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* release_shadow();
  void set_allocated_shadow(::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* shadow);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hitRegion = 20;
  bool has_hitregion() const;
  void clear_hitregion();
  static const int kHitRegionFieldNumber = 20;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& hitregion() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_hitregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_hitregion();
  void set_allocated_hitregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* hitregion);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region dispatchRegion = 21;
  bool has_dispatchregion() const;
  void clear_dispatchregion();
  static const int kDispatchRegionFieldNumber = 21;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& dispatchregion() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_dispatchregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_dispatchregion();
  void set_allocated_dispatchregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* dispatchregion);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region noActionRegion = 22;
  bool has_noactionregion() const;
  void clear_noactionregion();
  static const int kNoActionRegionFieldNumber = 22;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& noactionregion() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_noactionregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_noactionregion();
  void set_allocated_noactionregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* noactionregion);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hPanRegion = 23;
  bool has_hpanregion() const;
  void clear_hpanregion();
  static const int kHPanRegionFieldNumber = 23;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& hpanregion() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_hpanregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_hpanregion();
  void set_allocated_hpanregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* hpanregion);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vPanRegion = 24;
  bool has_vpanregion() const;
  void clear_vpanregion();
  static const int kVPanRegionFieldNumber = 24;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& vpanregion() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_vpanregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_vpanregion();
  void set_allocated_vpanregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vpanregion);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region valid = 100;
  bool has_valid() const;
  void clear_valid();
  static const int kValidFieldNumber = 100;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& valid() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_valid();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_valid();
  void set_allocated_valid(::mozilla::layers::layerscope::LayersPacket_Layer_Region* valid);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Size size = 104;
  bool has_size() const;
  void clear_size();
  static const int kSizeFieldNumber = 104;
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Size& size() const;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Size* mutable_size();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Size* release_size();
  void set_allocated_size(::mozilla::layers::layerscope::LayersPacket_Layer_Size* size);

  // required uint64 ptr = 2;
  bool has_ptr() const;
  void clear_ptr();
  static const int kPtrFieldNumber = 2;
  ::google::protobuf::uint64 ptr() const;
  void set_ptr(::google::protobuf::uint64 value);

  // required uint64 parentPtr = 3;
  bool has_parentptr() const;
  void clear_parentptr();
  static const int kParentPtrFieldNumber = 3;
  ::google::protobuf::uint64 parentptr() const;
  void set_parentptr(::google::protobuf::uint64 value);

  // required .mozilla.layers.layerscope.LayersPacket.Layer.LayerType type = 1;
  bool has_type() const;
  void clear_type();
  static const int kTypeFieldNumber = 1;
  ::mozilla::layers::layerscope::LayersPacket_Layer_LayerType type() const;
  void set_type(::mozilla::layers::layerscope::LayersPacket_Layer_LayerType value);

  // optional float opacity = 14;
  bool has_opacity() const;
  void clear_opacity();
  static const int kOpacityFieldNumber = 14;
  float opacity() const;
  void set_opacity(float value);

  // optional uint64 barID = 18;
  bool has_barid() const;
  void clear_barid();
  static const int kBarIDFieldNumber = 18;
  ::google::protobuf::uint64 barid() const;
  void set_barid(::google::protobuf::uint64 value);

  // optional uint64 mask = 19;
  bool has_mask() const;
  void clear_mask();
  static const int kMaskFieldNumber = 19;
  ::google::protobuf::uint64 mask() const;
  void set_mask(::google::protobuf::uint64 value);

  // optional bool cOpaque = 15;
  bool has_copaque() const;
  void clear_copaque();
  static const int kCOpaqueFieldNumber = 15;
  bool copaque() const;
  void set_copaque(bool value);

  // optional bool cAlpha = 16;
  bool has_calpha() const;
  void clear_calpha();
  static const int kCAlphaFieldNumber = 16;
  bool calpha() const;
  void set_calpha(bool value);

  // optional uint32 color = 101;
  bool has_color() const;
  void clear_color();
  static const int kColorFieldNumber = 101;
  ::google::protobuf::uint32 color() const;
  void set_color(::google::protobuf::uint32 value);

  // optional uint64 refID = 103;
  bool has_refid() const;
  void clear_refid();
  static const int kRefIDFieldNumber = 103;
  ::google::protobuf::uint64 refid() const;
  void set_refid(::google::protobuf::uint64 value);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Filter filter = 102;
  bool has_filter() const;
  void clear_filter();
  static const int kFilterFieldNumber = 102;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Filter filter() const;
  void set_filter(::mozilla::layers::layerscope::LayersPacket_Layer_Filter value);

  // optional uint32 displayListLogLength = 105;
  bool has_displaylistloglength() const;
  void clear_displaylistloglength();
  static const int kDisplayListLogLengthFieldNumber = 105;
  ::google::protobuf::uint32 displaylistloglength() const;
  void set_displaylistloglength(::google::protobuf::uint32 value);

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.ScrollingDirect direct = 17;
  bool has_direct() const;
  void clear_direct();
  static const int kDirectFieldNumber = 17;
  ::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect direct() const;
  void set_direct(::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer)
 private:
  void set_has_type();
  void clear_has_type();
  void set_has_ptr();
  void clear_has_ptr();
  void set_has_parentptr();
  void clear_has_parentptr();
  void set_has_clip();
  void clear_has_clip();
  void set_has_transform();
  void clear_has_transform();
  void set_has_vregion();
  void clear_has_vregion();
  void set_has_shadow();
  void clear_has_shadow();
  void set_has_opacity();
  void clear_has_opacity();
  void set_has_copaque();
  void clear_has_copaque();
  void set_has_calpha();
  void clear_has_calpha();
  void set_has_direct();
  void clear_has_direct();
  void set_has_barid();
  void clear_has_barid();
  void set_has_mask();
  void clear_has_mask();
  void set_has_hitregion();
  void clear_has_hitregion();
  void set_has_dispatchregion();
  void clear_has_dispatchregion();
  void set_has_noactionregion();
  void clear_has_noactionregion();
  void set_has_hpanregion();
  void clear_has_hpanregion();
  void set_has_vpanregion();
  void clear_has_vpanregion();
  void set_has_valid();
  void clear_has_valid();
  void set_has_color();
  void clear_has_color();
  void set_has_filter();
  void clear_has_filter();
  void set_has_refid();
  void clear_has_refid();
  void set_has_size();
  void clear_has_size();
  void set_has_displaylistloglength();
  void clear_has_displaylistloglength();
  void set_has_displaylistlog();
  void clear_has_displaylistlog();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr displaylistlog_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* shadow_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* hitregion_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* dispatchregion_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* noactionregion_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* hpanregion_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* vpanregion_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* valid_;
  ::mozilla::layers::layerscope::LayersPacket_Layer_Size* size_;
  ::google::protobuf::uint64 ptr_;
  ::google::protobuf::uint64 parentptr_;
  int type_;
  float opacity_;
  ::google::protobuf::uint64 barid_;
  ::google::protobuf::uint64 mask_;
  bool copaque_;
  bool calpha_;
  ::google::protobuf::uint32 color_;
  ::google::protobuf::uint64 refid_;
  int filter_;
  ::google::protobuf::uint32 displaylistloglength_;
  int direct_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class LayersPacket : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.LayersPacket) */ {
 public:
  LayersPacket();
  virtual ~LayersPacket();

  LayersPacket(const LayersPacket& from);

  inline LayersPacket& operator=(const LayersPacket& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  LayersPacket(LayersPacket&& from) noexcept
    : LayersPacket() {
    *this = ::std::move(from);
  }

  inline LayersPacket& operator=(LayersPacket&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const LayersPacket& default_instance();

  static inline const LayersPacket* internal_default_instance() {
    return reinterpret_cast<const LayersPacket*>(
               &_LayersPacket_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    13;

  void Swap(LayersPacket* other);
  friend void swap(LayersPacket& a, LayersPacket& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline LayersPacket* New() const PROTOBUF_FINAL { return New(NULL); }

  LayersPacket* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const LayersPacket& from);
  void MergeFrom(const LayersPacket& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LayersPacket* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef LayersPacket_Layer Layer;

  // accessors -------------------------------------------------------

  // repeated .mozilla.layers.layerscope.LayersPacket.Layer layer = 1;
  int layer_size() const;
  void clear_layer();
  static const int kLayerFieldNumber = 1;
  const ::mozilla::layers::layerscope::LayersPacket_Layer& layer(int index) const;
  ::mozilla::layers::layerscope::LayersPacket_Layer* mutable_layer(int index);
  ::mozilla::layers::layerscope::LayersPacket_Layer* add_layer();
  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer >*
      mutable_layer();
  const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer >&
      layer() const;

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket)
 private:

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer > layer_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class MetaPacket : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.MetaPacket) */ {
 public:
  MetaPacket();
  virtual ~MetaPacket();

  MetaPacket(const MetaPacket& from);

  inline MetaPacket& operator=(const MetaPacket& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  MetaPacket(MetaPacket&& from) noexcept
    : MetaPacket() {
    *this = ::std::move(from);
  }

  inline MetaPacket& operator=(MetaPacket&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const MetaPacket& default_instance();

  static inline const MetaPacket* internal_default_instance() {
    return reinterpret_cast<const MetaPacket*>(
               &_MetaPacket_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    14;

  void Swap(MetaPacket* other);
  friend void swap(MetaPacket& a, MetaPacket& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline MetaPacket* New() const PROTOBUF_FINAL { return New(NULL); }

  MetaPacket* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const MetaPacket& from);
  void MergeFrom(const MetaPacket& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(MetaPacket* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional bool composedByHwc = 1;
  bool has_composedbyhwc() const;
  void clear_composedbyhwc();
  static const int kComposedByHwcFieldNumber = 1;
  bool composedbyhwc() const;
  void set_composedbyhwc(bool value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.MetaPacket)
 private:
  void set_has_composedbyhwc();
  void clear_has_composedbyhwc();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  bool composedbyhwc_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class DrawPacket_Rect : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.DrawPacket.Rect) */ {
 public:
  DrawPacket_Rect();
  virtual ~DrawPacket_Rect();

  DrawPacket_Rect(const DrawPacket_Rect& from);

  inline DrawPacket_Rect& operator=(const DrawPacket_Rect& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  DrawPacket_Rect(DrawPacket_Rect&& from) noexcept
    : DrawPacket_Rect() {
    *this = ::std::move(from);
  }

  inline DrawPacket_Rect& operator=(DrawPacket_Rect&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const DrawPacket_Rect& default_instance();

  static inline const DrawPacket_Rect* internal_default_instance() {
    return reinterpret_cast<const DrawPacket_Rect*>(
               &_DrawPacket_Rect_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    15;

  void Swap(DrawPacket_Rect* other);
  friend void swap(DrawPacket_Rect& a, DrawPacket_Rect& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline DrawPacket_Rect* New() const PROTOBUF_FINAL { return New(NULL); }

  DrawPacket_Rect* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const DrawPacket_Rect& from);
  void MergeFrom(const DrawPacket_Rect& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(DrawPacket_Rect* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // required float x = 1;
  bool has_x() const;
  void clear_x();
  static const int kXFieldNumber = 1;
  float x() const;
  void set_x(float value);

  // required float y = 2;
  bool has_y() const;
  void clear_y();
  static const int kYFieldNumber = 2;
  float y() const;
  void set_y(float value);

  // required float w = 3;
  bool has_w() const;
  void clear_w();
  static const int kWFieldNumber = 3;
  float w() const;
  void set_w(float value);

  // required float h = 4;
  bool has_h() const;
  void clear_h();
  static const int kHFieldNumber = 4;
  float h() const;
  void set_h(float value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.DrawPacket.Rect)
 private:
  void set_has_x();
  void clear_has_x();
  void set_has_y();
  void clear_has_y();
  void set_has_w();
  void clear_has_w();
  void set_has_h();
  void clear_has_h();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  float x_;
  float y_;
  float w_;
  float h_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class DrawPacket : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.DrawPacket) */ {
 public:
  DrawPacket();
  virtual ~DrawPacket();

  DrawPacket(const DrawPacket& from);

  inline DrawPacket& operator=(const DrawPacket& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  DrawPacket(DrawPacket&& from) noexcept
    : DrawPacket() {
    *this = ::std::move(from);
  }

  inline DrawPacket& operator=(DrawPacket&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const DrawPacket& default_instance();

  static inline const DrawPacket* internal_default_instance() {
    return reinterpret_cast<const DrawPacket*>(
               &_DrawPacket_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    16;

  void Swap(DrawPacket* other);
  friend void swap(DrawPacket& a, DrawPacket& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline DrawPacket* New() const PROTOBUF_FINAL { return New(NULL); }

  DrawPacket* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const DrawPacket& from);
  void MergeFrom(const DrawPacket& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(DrawPacket* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef DrawPacket_Rect Rect;

  // accessors -------------------------------------------------------

  // repeated float mvMatrix = 3;
  int mvmatrix_size() const;
  void clear_mvmatrix();
  static const int kMvMatrixFieldNumber = 3;
  float mvmatrix(int index) const;
  void set_mvmatrix(int index, float value);
  void add_mvmatrix(float value);
  const ::google::protobuf::RepeatedField< float >&
      mvmatrix() const;
  ::google::protobuf::RepeatedField< float >*
      mutable_mvmatrix();

  // repeated .mozilla.layers.layerscope.DrawPacket.Rect layerRect = 5;
  int layerrect_size() const;
  void clear_layerrect();
  static const int kLayerRectFieldNumber = 5;
  const ::mozilla::layers::layerscope::DrawPacket_Rect& layerrect(int index) const;
  ::mozilla::layers::layerscope::DrawPacket_Rect* mutable_layerrect(int index);
  ::mozilla::layers::layerscope::DrawPacket_Rect* add_layerrect();
  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >*
      mutable_layerrect();
  const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >&
      layerrect() const;

  // repeated uint32 texIDs = 7;
  int texids_size() const;
  void clear_texids();
  static const int kTexIDsFieldNumber = 7;
  ::google::protobuf::uint32 texids(int index) const;
  void set_texids(int index, ::google::protobuf::uint32 value);
  void add_texids(::google::protobuf::uint32 value);
  const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      texids() const;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_texids();

  // repeated .mozilla.layers.layerscope.DrawPacket.Rect textureRect = 8;
  int texturerect_size() const;
  void clear_texturerect();
  static const int kTextureRectFieldNumber = 8;
  const ::mozilla::layers::layerscope::DrawPacket_Rect& texturerect(int index) const;
  ::mozilla::layers::layerscope::DrawPacket_Rect* mutable_texturerect(int index);
  ::mozilla::layers::layerscope::DrawPacket_Rect* add_texturerect();
  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >*
      mutable_texturerect();
  const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >&
      texturerect() const;

  // required float offsetX = 1;
  bool has_offsetx() const;
  void clear_offsetx();
  static const int kOffsetXFieldNumber = 1;
  float offsetx() const;
  void set_offsetx(float value);

  // required float offsetY = 2;
  bool has_offsety() const;
  void clear_offsety();
  static const int kOffsetYFieldNumber = 2;
  float offsety() const;
  void set_offsety(float value);

  // required uint64 layerref = 6;
  bool has_layerref() const;
  void clear_layerref();
  static const int kLayerrefFieldNumber = 6;
  ::google::protobuf::uint64 layerref() const;
  void set_layerref(::google::protobuf::uint64 value);

  // required uint32 totalRects = 4;
  bool has_totalrects() const;
  void clear_totalrects();
  static const int kTotalRectsFieldNumber = 4;
  ::google::protobuf::uint32 totalrects() const;
  void set_totalrects(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.DrawPacket)
 private:
  void set_has_offsetx();
  void clear_has_offsetx();
  void set_has_offsety();
  void clear_has_offsety();
  void set_has_totalrects();
  void clear_has_totalrects();
  void set_has_layerref();
  void clear_has_layerref();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedField< float > mvmatrix_;
  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect > layerrect_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > texids_;
  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect > texturerect_;
  float offsetx_;
  float offsety_;
  ::google::protobuf::uint64 layerref_;
  ::google::protobuf::uint32 totalrects_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Packet : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.Packet) */ {
 public:
  Packet();
  virtual ~Packet();

  Packet(const Packet& from);

  inline Packet& operator=(const Packet& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  Packet(Packet&& from) noexcept
    : Packet() {
    *this = ::std::move(from);
  }

  inline Packet& operator=(Packet&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const Packet& default_instance();

  static inline const Packet* internal_default_instance() {
    return reinterpret_cast<const Packet*>(
               &_Packet_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    17;

  void Swap(Packet* other);
  friend void swap(Packet& a, Packet& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline Packet* New() const PROTOBUF_FINAL { return New(NULL); }

  Packet* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const Packet& from);
  void MergeFrom(const Packet& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Packet* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef Packet_DataType DataType;
  static const DataType FRAMESTART =
    Packet_DataType_FRAMESTART;
  static const DataType FRAMEEND =
    Packet_DataType_FRAMEEND;
  static const DataType COLOR =
    Packet_DataType_COLOR;
  static const DataType TEXTURE =
    Packet_DataType_TEXTURE;
  static const DataType LAYERS =
    Packet_DataType_LAYERS;
  static const DataType META =
    Packet_DataType_META;
  static const DataType DRAW =
    Packet_DataType_DRAW;
  static inline bool DataType_IsValid(int value) {
    return Packet_DataType_IsValid(value);
  }
  static const DataType DataType_MIN =
    Packet_DataType_DataType_MIN;
  static const DataType DataType_MAX =
    Packet_DataType_DataType_MAX;
  static const int DataType_ARRAYSIZE =
    Packet_DataType_DataType_ARRAYSIZE;

  // accessors -------------------------------------------------------

  // optional .mozilla.layers.layerscope.FramePacket frame = 2;
  bool has_frame() const;
  void clear_frame();
  static const int kFrameFieldNumber = 2;
  const ::mozilla::layers::layerscope::FramePacket& frame() const;
  ::mozilla::layers::layerscope::FramePacket* mutable_frame();
  ::mozilla::layers::layerscope::FramePacket* release_frame();
  void set_allocated_frame(::mozilla::layers::layerscope::FramePacket* frame);

  // optional .mozilla.layers.layerscope.ColorPacket color = 3;
  bool has_color() const;
  void clear_color();
  static const int kColorFieldNumber = 3;
  const ::mozilla::layers::layerscope::ColorPacket& color() const;
  ::mozilla::layers::layerscope::ColorPacket* mutable_color();
  ::mozilla::layers::layerscope::ColorPacket* release_color();
  void set_allocated_color(::mozilla::layers::layerscope::ColorPacket* color);

  // optional .mozilla.layers.layerscope.TexturePacket texture = 4;
  bool has_texture() const;
  void clear_texture();
  static const int kTextureFieldNumber = 4;
  const ::mozilla::layers::layerscope::TexturePacket& texture() const;
  ::mozilla::layers::layerscope::TexturePacket* mutable_texture();
  ::mozilla::layers::layerscope::TexturePacket* release_texture();
  void set_allocated_texture(::mozilla::layers::layerscope::TexturePacket* texture);

  // optional .mozilla.layers.layerscope.LayersPacket layers = 5;
  bool has_layers() const;
  void clear_layers();
  static const int kLayersFieldNumber = 5;
  const ::mozilla::layers::layerscope::LayersPacket& layers() const;
  ::mozilla::layers::layerscope::LayersPacket* mutable_layers();
  ::mozilla::layers::layerscope::LayersPacket* release_layers();
  void set_allocated_layers(::mozilla::layers::layerscope::LayersPacket* layers);

  // optional .mozilla.layers.layerscope.MetaPacket meta = 6;
  bool has_meta() const;
  void clear_meta();
  static const int kMetaFieldNumber = 6;
  const ::mozilla::layers::layerscope::MetaPacket& meta() const;
  ::mozilla::layers::layerscope::MetaPacket* mutable_meta();
  ::mozilla::layers::layerscope::MetaPacket* release_meta();
  void set_allocated_meta(::mozilla::layers::layerscope::MetaPacket* meta);

  // optional .mozilla.layers.layerscope.DrawPacket draw = 7;
  bool has_draw() const;
  void clear_draw();
  static const int kDrawFieldNumber = 7;
  const ::mozilla::layers::layerscope::DrawPacket& draw() const;
  ::mozilla::layers::layerscope::DrawPacket* mutable_draw();
  ::mozilla::layers::layerscope::DrawPacket* release_draw();
  void set_allocated_draw(::mozilla::layers::layerscope::DrawPacket* draw);

  // required .mozilla.layers.layerscope.Packet.DataType type = 1;
  bool has_type() const;
  void clear_type();
  static const int kTypeFieldNumber = 1;
  ::mozilla::layers::layerscope::Packet_DataType type() const;
  void set_type(::mozilla::layers::layerscope::Packet_DataType value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.Packet)
 private:
  void set_has_type();
  void clear_has_type();
  void set_has_frame();
  void clear_has_frame();
  void set_has_color();
  void clear_has_color();
  void set_has_texture();
  void clear_has_texture();
  void set_has_layers();
  void clear_has_layers();
  void set_has_meta();
  void clear_has_meta();
  void set_has_draw();
  void clear_has_draw();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::mozilla::layers::layerscope::FramePacket* frame_;
  ::mozilla::layers::layerscope::ColorPacket* color_;
  ::mozilla::layers::layerscope::TexturePacket* texture_;
  ::mozilla::layers::layerscope::LayersPacket* layers_;
  ::mozilla::layers::layerscope::MetaPacket* meta_;
  ::mozilla::layers::layerscope::DrawPacket* draw_;
  int type_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class CommandPacket : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.layers.layerscope.CommandPacket) */ {
 public:
  CommandPacket();
  virtual ~CommandPacket();

  CommandPacket(const CommandPacket& from);

  inline CommandPacket& operator=(const CommandPacket& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  CommandPacket(CommandPacket&& from) noexcept
    : CommandPacket() {
    *this = ::std::move(from);
  }

  inline CommandPacket& operator=(CommandPacket&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const CommandPacket& default_instance();

  static inline const CommandPacket* internal_default_instance() {
    return reinterpret_cast<const CommandPacket*>(
               &_CommandPacket_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    18;

  void Swap(CommandPacket* other);
  friend void swap(CommandPacket& a, CommandPacket& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline CommandPacket* New() const PROTOBUF_FINAL { return New(NULL); }

  CommandPacket* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const CommandPacket& from);
  void MergeFrom(const CommandPacket& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CommandPacket* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef CommandPacket_CmdType CmdType;
  static const CmdType NO_OP =
    CommandPacket_CmdType_NO_OP;
  static const CmdType LAYERS_TREE =
    CommandPacket_CmdType_LAYERS_TREE;
  static const CmdType LAYERS_BUFFER =
    CommandPacket_CmdType_LAYERS_BUFFER;
  static inline bool CmdType_IsValid(int value) {
    return CommandPacket_CmdType_IsValid(value);
  }
  static const CmdType CmdType_MIN =
    CommandPacket_CmdType_CmdType_MIN;
  static const CmdType CmdType_MAX =
    CommandPacket_CmdType_CmdType_MAX;
  static const int CmdType_ARRAYSIZE =
    CommandPacket_CmdType_CmdType_ARRAYSIZE;

  // accessors -------------------------------------------------------

  // required .mozilla.layers.layerscope.CommandPacket.CmdType type = 1;
  bool has_type() const;
  void clear_type();
  static const int kTypeFieldNumber = 1;
  ::mozilla::layers::layerscope::CommandPacket_CmdType type() const;
  void set_type(::mozilla::layers::layerscope::CommandPacket_CmdType value);

  // optional bool value = 2;
  bool has_value() const;
  void clear_value();
  static const int kValueFieldNumber = 2;
  bool value() const;
  void set_value(bool value);

  // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.CommandPacket)
 private:
  void set_has_type();
  void clear_has_type();
  void set_has_value();
  void clear_has_value();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  int type_;
  bool value_;
  friend struct protobuf_LayerScopePacket_2eproto::TableStruct;
};
// ===================================================================


// ===================================================================

#if !PROTOBUF_INLINE_NOT_IN_HEADERS
#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// FramePacket

// optional uint64 value = 1;
inline bool FramePacket::has_value() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void FramePacket::set_has_value() {
  _has_bits_[0] |= 0x00000001u;
}
inline void FramePacket::clear_has_value() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void FramePacket::clear_value() {
  value_ = GOOGLE_ULONGLONG(0);
  clear_has_value();
}
inline ::google::protobuf::uint64 FramePacket::value() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.FramePacket.value)
  return value_;
}
inline void FramePacket::set_value(::google::protobuf::uint64 value) {
  set_has_value();
  value_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.FramePacket.value)
}

// optional float scale = 2;
inline bool FramePacket::has_scale() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void FramePacket::set_has_scale() {
  _has_bits_[0] |= 0x00000002u;
}
inline void FramePacket::clear_has_scale() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void FramePacket::clear_scale() {
  scale_ = 0;
  clear_has_scale();
}
inline float FramePacket::scale() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.FramePacket.scale)
  return scale_;
}
inline void FramePacket::set_scale(float value) {
  set_has_scale();
  scale_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.FramePacket.scale)
}

// -------------------------------------------------------------------

// ColorPacket

// required uint64 layerref = 1;
inline bool ColorPacket::has_layerref() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ColorPacket::set_has_layerref() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ColorPacket::clear_has_layerref() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ColorPacket::clear_layerref() {
  layerref_ = GOOGLE_ULONGLONG(0);
  clear_has_layerref();
}
inline ::google::protobuf::uint64 ColorPacket::layerref() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.layerref)
  return layerref_;
}
inline void ColorPacket::set_layerref(::google::protobuf::uint64 value) {
  set_has_layerref();
  layerref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.layerref)
}

// optional uint32 width = 2;
inline bool ColorPacket::has_width() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ColorPacket::set_has_width() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ColorPacket::clear_has_width() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ColorPacket::clear_width() {
  width_ = 0u;
  clear_has_width();
}
inline ::google::protobuf::uint32 ColorPacket::width() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.width)
  return width_;
}
inline void ColorPacket::set_width(::google::protobuf::uint32 value) {
  set_has_width();
  width_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.width)
}

// optional uint32 height = 3;
inline bool ColorPacket::has_height() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void ColorPacket::set_has_height() {
  _has_bits_[0] |= 0x00000004u;
}
inline void ColorPacket::clear_has_height() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void ColorPacket::clear_height() {
  height_ = 0u;
  clear_has_height();
}
inline ::google::protobuf::uint32 ColorPacket::height() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.height)
  return height_;
}
inline void ColorPacket::set_height(::google::protobuf::uint32 value) {
  set_has_height();
  height_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.height)
}

// optional uint32 color = 4;
inline bool ColorPacket::has_color() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void ColorPacket::set_has_color() {
  _has_bits_[0] |= 0x00000008u;
}
inline void ColorPacket::clear_has_color() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void ColorPacket::clear_color() {
  color_ = 0u;
  clear_has_color();
}
inline ::google::protobuf::uint32 ColorPacket::color() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.color)
  return color_;
}
inline void ColorPacket::set_color(::google::protobuf::uint32 value) {
  set_has_color();
  color_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.color)
}

// -------------------------------------------------------------------

// TexturePacket_Rect

// optional float x = 1;
inline bool TexturePacket_Rect::has_x() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TexturePacket_Rect::set_has_x() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TexturePacket_Rect::clear_has_x() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TexturePacket_Rect::clear_x() {
  x_ = 0;
  clear_has_x();
}
inline float TexturePacket_Rect::x() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Rect.x)
  return x_;
}
inline void TexturePacket_Rect::set_x(float value) {
  set_has_x();
  x_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Rect.x)
}

// optional float y = 2;
inline bool TexturePacket_Rect::has_y() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void TexturePacket_Rect::set_has_y() {
  _has_bits_[0] |= 0x00000002u;
}
inline void TexturePacket_Rect::clear_has_y() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void TexturePacket_Rect::clear_y() {
  y_ = 0;
  clear_has_y();
}
inline float TexturePacket_Rect::y() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Rect.y)
  return y_;
}
inline void TexturePacket_Rect::set_y(float value) {
  set_has_y();
  y_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Rect.y)
}

// optional float w = 3;
inline bool TexturePacket_Rect::has_w() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void TexturePacket_Rect::set_has_w() {
  _has_bits_[0] |= 0x00000004u;
}
inline void TexturePacket_Rect::clear_has_w() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void TexturePacket_Rect::clear_w() {
  w_ = 0;
  clear_has_w();
}
inline float TexturePacket_Rect::w() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Rect.w)
  return w_;
}
inline void TexturePacket_Rect::set_w(float value) {
  set_has_w();
  w_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Rect.w)
}

// optional float h = 4;
inline bool TexturePacket_Rect::has_h() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void TexturePacket_Rect::set_has_h() {
  _has_bits_[0] |= 0x00000008u;
}
inline void TexturePacket_Rect::clear_has_h() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void TexturePacket_Rect::clear_h() {
  h_ = 0;
  clear_has_h();
}
inline float TexturePacket_Rect::h() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Rect.h)
  return h_;
}
inline void TexturePacket_Rect::set_h(float value) {
  set_has_h();
  h_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Rect.h)
}

// -------------------------------------------------------------------

// TexturePacket_Size

// optional int32 w = 1;
inline bool TexturePacket_Size::has_w() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TexturePacket_Size::set_has_w() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TexturePacket_Size::clear_has_w() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TexturePacket_Size::clear_w() {
  w_ = 0;
  clear_has_w();
}
inline ::google::protobuf::int32 TexturePacket_Size::w() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Size.w)
  return w_;
}
inline void TexturePacket_Size::set_w(::google::protobuf::int32 value) {
  set_has_w();
  w_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Size.w)
}

// optional int32 h = 2;
inline bool TexturePacket_Size::has_h() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void TexturePacket_Size::set_has_h() {
  _has_bits_[0] |= 0x00000002u;
}
inline void TexturePacket_Size::clear_has_h() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void TexturePacket_Size::clear_h() {
  h_ = 0;
  clear_has_h();
}
inline ::google::protobuf::int32 TexturePacket_Size::h() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Size.h)
  return h_;
}
inline void TexturePacket_Size::set_h(::google::protobuf::int32 value) {
  set_has_h();
  h_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Size.h)
}

// -------------------------------------------------------------------

// TexturePacket_Matrix

// optional bool is2D = 1;
inline bool TexturePacket_Matrix::has_is2d() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TexturePacket_Matrix::set_has_is2d() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TexturePacket_Matrix::clear_has_is2d() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TexturePacket_Matrix::clear_is2d() {
  is2d_ = false;
  clear_has_is2d();
}
inline bool TexturePacket_Matrix::is2d() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Matrix.is2D)
  return is2d_;
}
inline void TexturePacket_Matrix::set_is2d(bool value) {
  set_has_is2d();
  is2d_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Matrix.is2D)
}

// optional bool isId = 2;
inline bool TexturePacket_Matrix::has_isid() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void TexturePacket_Matrix::set_has_isid() {
  _has_bits_[0] |= 0x00000002u;
}
inline void TexturePacket_Matrix::clear_has_isid() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void TexturePacket_Matrix::clear_isid() {
  isid_ = false;
  clear_has_isid();
}
inline bool TexturePacket_Matrix::isid() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Matrix.isId)
  return isid_;
}
inline void TexturePacket_Matrix::set_isid(bool value) {
  set_has_isid();
  isid_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Matrix.isId)
}

// repeated float m = 3;
inline int TexturePacket_Matrix::m_size() const {
  return m_.size();
}
inline void TexturePacket_Matrix::clear_m() {
  m_.Clear();
}
inline float TexturePacket_Matrix::m(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Matrix.m)
  return m_.Get(index);
}
inline void TexturePacket_Matrix::set_m(int index, float value) {
  m_.Set(index, value);
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Matrix.m)
}
inline void TexturePacket_Matrix::add_m(float value) {
  m_.Add(value);
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.TexturePacket.Matrix.m)
}
inline const ::google::protobuf::RepeatedField< float >&
TexturePacket_Matrix::m() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.TexturePacket.Matrix.m)
  return m_;
}
inline ::google::protobuf::RepeatedField< float >*
TexturePacket_Matrix::mutable_m() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.TexturePacket.Matrix.m)
  return &m_;
}

// -------------------------------------------------------------------

// TexturePacket_EffectMask

// optional bool mIs3D = 1;
inline bool TexturePacket_EffectMask::has_mis3d() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void TexturePacket_EffectMask::set_has_mis3d() {
  _has_bits_[0] |= 0x00000004u;
}
inline void TexturePacket_EffectMask::clear_has_mis3d() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void TexturePacket_EffectMask::clear_mis3d() {
  mis3d_ = false;
  clear_has_mis3d();
}
inline bool TexturePacket_EffectMask::mis3d() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.EffectMask.mIs3D)
  return mis3d_;
}
inline void TexturePacket_EffectMask::set_mis3d(bool value) {
  set_has_mis3d();
  mis3d_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.EffectMask.mIs3D)
}

// optional .mozilla.layers.layerscope.TexturePacket.Size mSize = 2;
inline bool TexturePacket_EffectMask::has_msize() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TexturePacket_EffectMask::set_has_msize() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TexturePacket_EffectMask::clear_has_msize() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TexturePacket_EffectMask::clear_msize() {
  if (msize_ != NULL) msize_->::mozilla::layers::layerscope::TexturePacket_Size::Clear();
  clear_has_msize();
}
inline const ::mozilla::layers::layerscope::TexturePacket_Size& TexturePacket_EffectMask::msize() const {
  const ::mozilla::layers::layerscope::TexturePacket_Size* p = msize_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.EffectMask.mSize)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::TexturePacket_Size*>(
      &::mozilla::layers::layerscope::_TexturePacket_Size_default_instance_);
}
inline ::mozilla::layers::layerscope::TexturePacket_Size* TexturePacket_EffectMask::mutable_msize() {
  set_has_msize();
  if (msize_ == NULL) {
    msize_ = new ::mozilla::layers::layerscope::TexturePacket_Size;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.EffectMask.mSize)
  return msize_;
}
inline ::mozilla::layers::layerscope::TexturePacket_Size* TexturePacket_EffectMask::release_msize() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.TexturePacket.EffectMask.mSize)
  clear_has_msize();
  ::mozilla::layers::layerscope::TexturePacket_Size* temp = msize_;
  msize_ = NULL;
  return temp;
}
inline void TexturePacket_EffectMask::set_allocated_msize(::mozilla::layers::layerscope::TexturePacket_Size* msize) {
  delete msize_;
  msize_ = msize;
  if (msize) {
    set_has_msize();
  } else {
    clear_has_msize();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.EffectMask.mSize)
}

// optional .mozilla.layers.layerscope.TexturePacket.Matrix mMaskTransform = 3;
inline bool TexturePacket_EffectMask::has_mmasktransform() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void TexturePacket_EffectMask::set_has_mmasktransform() {
  _has_bits_[0] |= 0x00000002u;
}
inline void TexturePacket_EffectMask::clear_has_mmasktransform() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void TexturePacket_EffectMask::clear_mmasktransform() {
  if (mmasktransform_ != NULL) mmasktransform_->::mozilla::layers::layerscope::TexturePacket_Matrix::Clear();
  clear_has_mmasktransform();
}
inline const ::mozilla::layers::layerscope::TexturePacket_Matrix& TexturePacket_EffectMask::mmasktransform() const {
  const ::mozilla::layers::layerscope::TexturePacket_Matrix* p = mmasktransform_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.EffectMask.mMaskTransform)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::TexturePacket_Matrix*>(
      &::mozilla::layers::layerscope::_TexturePacket_Matrix_default_instance_);
}
inline ::mozilla::layers::layerscope::TexturePacket_Matrix* TexturePacket_EffectMask::mutable_mmasktransform() {
  set_has_mmasktransform();
  if (mmasktransform_ == NULL) {
    mmasktransform_ = new ::mozilla::layers::layerscope::TexturePacket_Matrix;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.EffectMask.mMaskTransform)
  return mmasktransform_;
}
inline ::mozilla::layers::layerscope::TexturePacket_Matrix* TexturePacket_EffectMask::release_mmasktransform() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.TexturePacket.EffectMask.mMaskTransform)
  clear_has_mmasktransform();
  ::mozilla::layers::layerscope::TexturePacket_Matrix* temp = mmasktransform_;
  mmasktransform_ = NULL;
  return temp;
}
inline void TexturePacket_EffectMask::set_allocated_mmasktransform(::mozilla::layers::layerscope::TexturePacket_Matrix* mmasktransform) {
  delete mmasktransform_;
  mmasktransform_ = mmasktransform;
  if (mmasktransform) {
    set_has_mmasktransform();
  } else {
    clear_has_mmasktransform();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.EffectMask.mMaskTransform)
}

// -------------------------------------------------------------------

// TexturePacket

// required uint64 layerref = 1;
inline bool TexturePacket::has_layerref() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void TexturePacket::set_has_layerref() {
  _has_bits_[0] |= 0x00000008u;
}
inline void TexturePacket::clear_has_layerref() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void TexturePacket::clear_layerref() {
  layerref_ = GOOGLE_ULONGLONG(0);
  clear_has_layerref();
}
inline ::google::protobuf::uint64 TexturePacket::layerref() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.layerref)
  return layerref_;
}
inline void TexturePacket::set_layerref(::google::protobuf::uint64 value) {
  set_has_layerref();
  layerref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.layerref)
}

// optional uint32 width = 2;
inline bool TexturePacket::has_width() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void TexturePacket::set_has_width() {
  _has_bits_[0] |= 0x00000010u;
}
inline void TexturePacket::clear_has_width() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void TexturePacket::clear_width() {
  width_ = 0u;
  clear_has_width();
}
inline ::google::protobuf::uint32 TexturePacket::width() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.width)
  return width_;
}
inline void TexturePacket::set_width(::google::protobuf::uint32 value) {
  set_has_width();
  width_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.width)
}

// optional uint32 height = 3;
inline bool TexturePacket::has_height() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void TexturePacket::set_has_height() {
  _has_bits_[0] |= 0x00000020u;
}
inline void TexturePacket::clear_has_height() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void TexturePacket::clear_height() {
  height_ = 0u;
  clear_has_height();
}
inline ::google::protobuf::uint32 TexturePacket::height() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.height)
  return height_;
}
inline void TexturePacket::set_height(::google::protobuf::uint32 value) {
  set_has_height();
  height_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.height)
}

// optional uint32 stride = 4;
inline bool TexturePacket::has_stride() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void TexturePacket::set_has_stride() {
  _has_bits_[0] |= 0x00000040u;
}
inline void TexturePacket::clear_has_stride() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void TexturePacket::clear_stride() {
  stride_ = 0u;
  clear_has_stride();
}
inline ::google::protobuf::uint32 TexturePacket::stride() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.stride)
  return stride_;
}
inline void TexturePacket::set_stride(::google::protobuf::uint32 value) {
  set_has_stride();
  stride_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.stride)
}

// optional uint32 name = 5;
inline bool TexturePacket::has_name() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void TexturePacket::set_has_name() {
  _has_bits_[0] |= 0x00000080u;
}
inline void TexturePacket::clear_has_name() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void TexturePacket::clear_name() {
  name_ = 0u;
  clear_has_name();
}
inline ::google::protobuf::uint32 TexturePacket::name() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.name)
  return name_;
}
inline void TexturePacket::set_name(::google::protobuf::uint32 value) {
  set_has_name();
  name_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.name)
}

// optional uint32 target = 6;
inline bool TexturePacket::has_target() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
inline void TexturePacket::set_has_target() {
  _has_bits_[0] |= 0x00000100u;
}
inline void TexturePacket::clear_has_target() {
  _has_bits_[0] &= ~0x00000100u;
}
inline void TexturePacket::clear_target() {
  target_ = 0u;
  clear_has_target();
}
inline ::google::protobuf::uint32 TexturePacket::target() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.target)
  return target_;
}
inline void TexturePacket::set_target(::google::protobuf::uint32 value) {
  set_has_target();
  target_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.target)
}

// optional uint32 dataformat = 7;
inline bool TexturePacket::has_dataformat() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
inline void TexturePacket::set_has_dataformat() {
  _has_bits_[0] |= 0x00000200u;
}
inline void TexturePacket::clear_has_dataformat() {
  _has_bits_[0] &= ~0x00000200u;
}
inline void TexturePacket::clear_dataformat() {
  dataformat_ = 0u;
  clear_has_dataformat();
}
inline ::google::protobuf::uint32 TexturePacket::dataformat() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.dataformat)
  return dataformat_;
}
inline void TexturePacket::set_dataformat(::google::protobuf::uint32 value) {
  set_has_dataformat();
  dataformat_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.dataformat)
}

// optional uint64 glcontext = 8;
inline bool TexturePacket::has_glcontext() const {
  return (_has_bits_[0] & 0x00000400u) != 0;
}
inline void TexturePacket::set_has_glcontext() {
  _has_bits_[0] |= 0x00000400u;
}
inline void TexturePacket::clear_has_glcontext() {
  _has_bits_[0] &= ~0x00000400u;
}
inline void TexturePacket::clear_glcontext() {
  glcontext_ = GOOGLE_ULONGLONG(0);
  clear_has_glcontext();
}
inline ::google::protobuf::uint64 TexturePacket::glcontext() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.glcontext)
  return glcontext_;
}
inline void TexturePacket::set_glcontext(::google::protobuf::uint64 value) {
  set_has_glcontext();
  glcontext_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.glcontext)
}

// optional bytes data = 9;
inline bool TexturePacket::has_data() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TexturePacket::set_has_data() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TexturePacket::clear_has_data() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TexturePacket::clear_data() {
  data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_data();
}
inline const ::std::string& TexturePacket::data() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.data)
  return data_.GetNoArena();
}
inline void TexturePacket::set_data(const ::std::string& value) {
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.data)
}
#if LANG_CXX11
inline void TexturePacket::set_data(::std::string&& value) {
  set_has_data();
  data_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:mozilla.layers.layerscope.TexturePacket.data)
}
#endif
inline void TexturePacket::set_data(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:mozilla.layers.layerscope.TexturePacket.data)
}
inline void TexturePacket::set_data(const void* value, size_t size) {
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:mozilla.layers.layerscope.TexturePacket.data)
}
inline ::std::string* TexturePacket::mutable_data() {
  set_has_data();
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.data)
  return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* TexturePacket::release_data() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.TexturePacket.data)
  clear_has_data();
  return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void TexturePacket::set_allocated_data(::std::string* data) {
  if (data != NULL) {
    set_has_data();
  } else {
    clear_has_data();
  }
  data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.data)
}

// optional .mozilla.layers.layerscope.TexturePacket.Rect mTextureCoords = 10;
inline bool TexturePacket::has_mtexturecoords() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void TexturePacket::set_has_mtexturecoords() {
  _has_bits_[0] |= 0x00000002u;
}
inline void TexturePacket::clear_has_mtexturecoords() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void TexturePacket::clear_mtexturecoords() {
  if (mtexturecoords_ != NULL) mtexturecoords_->::mozilla::layers::layerscope::TexturePacket_Rect::Clear();
  clear_has_mtexturecoords();
}
inline const ::mozilla::layers::layerscope::TexturePacket_Rect& TexturePacket::mtexturecoords() const {
  const ::mozilla::layers::layerscope::TexturePacket_Rect* p = mtexturecoords_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.mTextureCoords)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::TexturePacket_Rect*>(
      &::mozilla::layers::layerscope::_TexturePacket_Rect_default_instance_);
}
inline ::mozilla::layers::layerscope::TexturePacket_Rect* TexturePacket::mutable_mtexturecoords() {
  set_has_mtexturecoords();
  if (mtexturecoords_ == NULL) {
    mtexturecoords_ = new ::mozilla::layers::layerscope::TexturePacket_Rect;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.mTextureCoords)
  return mtexturecoords_;
}
inline ::mozilla::layers::layerscope::TexturePacket_Rect* TexturePacket::release_mtexturecoords() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.TexturePacket.mTextureCoords)
  clear_has_mtexturecoords();
  ::mozilla::layers::layerscope::TexturePacket_Rect* temp = mtexturecoords_;
  mtexturecoords_ = NULL;
  return temp;
}
inline void TexturePacket::set_allocated_mtexturecoords(::mozilla::layers::layerscope::TexturePacket_Rect* mtexturecoords) {
  delete mtexturecoords_;
  mtexturecoords_ = mtexturecoords;
  if (mtexturecoords) {
    set_has_mtexturecoords();
  } else {
    clear_has_mtexturecoords();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.mTextureCoords)
}

// optional bool mPremultiplied = 11;
inline bool TexturePacket::has_mpremultiplied() const {
  return (_has_bits_[0] & 0x00001000u) != 0;
}
inline void TexturePacket::set_has_mpremultiplied() {
  _has_bits_[0] |= 0x00001000u;
}
inline void TexturePacket::clear_has_mpremultiplied() {
  _has_bits_[0] &= ~0x00001000u;
}
inline void TexturePacket::clear_mpremultiplied() {
  mpremultiplied_ = false;
  clear_has_mpremultiplied();
}
inline bool TexturePacket::mpremultiplied() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.mPremultiplied)
  return mpremultiplied_;
}
inline void TexturePacket::set_mpremultiplied(bool value) {
  set_has_mpremultiplied();
  mpremultiplied_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.mPremultiplied)
}

// optional .mozilla.layers.layerscope.TexturePacket.Filter mFilter = 12;
inline bool TexturePacket::has_mfilter() const {
  return (_has_bits_[0] & 0x00000800u) != 0;
}
inline void TexturePacket::set_has_mfilter() {
  _has_bits_[0] |= 0x00000800u;
}
inline void TexturePacket::clear_has_mfilter() {
  _has_bits_[0] &= ~0x00000800u;
}
inline void TexturePacket::clear_mfilter() {
  mfilter_ = 0;
  clear_has_mfilter();
}
inline ::mozilla::layers::layerscope::TexturePacket_Filter TexturePacket::mfilter() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.mFilter)
  return static_cast< ::mozilla::layers::layerscope::TexturePacket_Filter >(mfilter_);
}
inline void TexturePacket::set_mfilter(::mozilla::layers::layerscope::TexturePacket_Filter value) {
  assert(::mozilla::layers::layerscope::TexturePacket_Filter_IsValid(value));
  set_has_mfilter();
  mfilter_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.mFilter)
}

// optional bool isMask = 20;
inline bool TexturePacket::has_ismask() const {
  return (_has_bits_[0] & 0x00002000u) != 0;
}
inline void TexturePacket::set_has_ismask() {
  _has_bits_[0] |= 0x00002000u;
}
inline void TexturePacket::clear_has_ismask() {
  _has_bits_[0] &= ~0x00002000u;
}
inline void TexturePacket::clear_ismask() {
  ismask_ = false;
  clear_has_ismask();
}
inline bool TexturePacket::ismask() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.isMask)
  return ismask_;
}
inline void TexturePacket::set_ismask(bool value) {
  set_has_ismask();
  ismask_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.isMask)
}

// optional .mozilla.layers.layerscope.TexturePacket.EffectMask mask = 21;
inline bool TexturePacket::has_mask() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void TexturePacket::set_has_mask() {
  _has_bits_[0] |= 0x00000004u;
}
inline void TexturePacket::clear_has_mask() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void TexturePacket::clear_mask() {
  if (mask_ != NULL) mask_->::mozilla::layers::layerscope::TexturePacket_EffectMask::Clear();
  clear_has_mask();
}
inline const ::mozilla::layers::layerscope::TexturePacket_EffectMask& TexturePacket::mask() const {
  const ::mozilla::layers::layerscope::TexturePacket_EffectMask* p = mask_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.mask)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::TexturePacket_EffectMask*>(
      &::mozilla::layers::layerscope::_TexturePacket_EffectMask_default_instance_);
}
inline ::mozilla::layers::layerscope::TexturePacket_EffectMask* TexturePacket::mutable_mask() {
  set_has_mask();
  if (mask_ == NULL) {
    mask_ = new ::mozilla::layers::layerscope::TexturePacket_EffectMask;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.mask)
  return mask_;
}
inline ::mozilla::layers::layerscope::TexturePacket_EffectMask* TexturePacket::release_mask() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.TexturePacket.mask)
  clear_has_mask();
  ::mozilla::layers::layerscope::TexturePacket_EffectMask* temp = mask_;
  mask_ = NULL;
  return temp;
}
inline void TexturePacket::set_allocated_mask(::mozilla::layers::layerscope::TexturePacket_EffectMask* mask) {
  delete mask_;
  mask_ = mask;
  if (mask) {
    set_has_mask();
  } else {
    clear_has_mask();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.mask)
}

// -------------------------------------------------------------------

// LayersPacket_Layer_Size

// optional int32 w = 1;
inline bool LayersPacket_Layer_Size::has_w() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void LayersPacket_Layer_Size::set_has_w() {
  _has_bits_[0] |= 0x00000001u;
}
inline void LayersPacket_Layer_Size::clear_has_w() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void LayersPacket_Layer_Size::clear_w() {
  w_ = 0;
  clear_has_w();
}
inline ::google::protobuf::int32 LayersPacket_Layer_Size::w() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Size.w)
  return w_;
}
inline void LayersPacket_Layer_Size::set_w(::google::protobuf::int32 value) {
  set_has_w();
  w_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Size.w)
}

// optional int32 h = 2;
inline bool LayersPacket_Layer_Size::has_h() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void LayersPacket_Layer_Size::set_has_h() {
  _has_bits_[0] |= 0x00000002u;
}
inline void LayersPacket_Layer_Size::clear_has_h() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void LayersPacket_Layer_Size::clear_h() {
  h_ = 0;
  clear_has_h();
}
inline ::google::protobuf::int32 LayersPacket_Layer_Size::h() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Size.h)
  return h_;
}
inline void LayersPacket_Layer_Size::set_h(::google::protobuf::int32 value) {
  set_has_h();
  h_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Size.h)
}

// -------------------------------------------------------------------

// LayersPacket_Layer_Rect

// optional int32 x = 1;
inline bool LayersPacket_Layer_Rect::has_x() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void LayersPacket_Layer_Rect::set_has_x() {
  _has_bits_[0] |= 0x00000001u;
}
inline void LayersPacket_Layer_Rect::clear_has_x() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void LayersPacket_Layer_Rect::clear_x() {
  x_ = 0;
  clear_has_x();
}
inline ::google::protobuf::int32 LayersPacket_Layer_Rect::x() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.x)
  return x_;
}
inline void LayersPacket_Layer_Rect::set_x(::google::protobuf::int32 value) {
  set_has_x();
  x_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.x)
}

// optional int32 y = 2;
inline bool LayersPacket_Layer_Rect::has_y() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void LayersPacket_Layer_Rect::set_has_y() {
  _has_bits_[0] |= 0x00000002u;
}
inline void LayersPacket_Layer_Rect::clear_has_y() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void LayersPacket_Layer_Rect::clear_y() {
  y_ = 0;
  clear_has_y();
}
inline ::google::protobuf::int32 LayersPacket_Layer_Rect::y() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.y)
  return y_;
}
inline void LayersPacket_Layer_Rect::set_y(::google::protobuf::int32 value) {
  set_has_y();
  y_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.y)
}

// optional int32 w = 3;
inline bool LayersPacket_Layer_Rect::has_w() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void LayersPacket_Layer_Rect::set_has_w() {
  _has_bits_[0] |= 0x00000004u;
}
inline void LayersPacket_Layer_Rect::clear_has_w() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void LayersPacket_Layer_Rect::clear_w() {
  w_ = 0;
  clear_has_w();
}
inline ::google::protobuf::int32 LayersPacket_Layer_Rect::w() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.w)
  return w_;
}
inline void LayersPacket_Layer_Rect::set_w(::google::protobuf::int32 value) {
  set_has_w();
  w_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.w)
}

// optional int32 h = 4;
inline bool LayersPacket_Layer_Rect::has_h() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void LayersPacket_Layer_Rect::set_has_h() {
  _has_bits_[0] |= 0x00000008u;
}
inline void LayersPacket_Layer_Rect::clear_has_h() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void LayersPacket_Layer_Rect::clear_h() {
  h_ = 0;
  clear_has_h();
}
inline ::google::protobuf::int32 LayersPacket_Layer_Rect::h() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.h)
  return h_;
}
inline void LayersPacket_Layer_Rect::set_h(::google::protobuf::int32 value) {
  set_has_h();
  h_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.h)
}

// -------------------------------------------------------------------

// LayersPacket_Layer_Region

// repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
inline int LayersPacket_Layer_Region::r_size() const {
  return r_.size();
}
inline void LayersPacket_Layer_Region::clear_r() {
  r_.Clear();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& LayersPacket_Layer_Region::r(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
  return r_.Get(index);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Region::mutable_r(int index) {
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
  return r_.Mutable(index);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Region::add_r() {
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
  return r_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect >*
LayersPacket_Layer_Region::mutable_r() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
  return &r_;
}
inline const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect >&
LayersPacket_Layer_Region::r() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
  return r_;
}

// -------------------------------------------------------------------

// LayersPacket_Layer_Matrix

// optional bool is2D = 1;
inline bool LayersPacket_Layer_Matrix::has_is2d() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void LayersPacket_Layer_Matrix::set_has_is2d() {
  _has_bits_[0] |= 0x00000001u;
}
inline void LayersPacket_Layer_Matrix::clear_has_is2d() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void LayersPacket_Layer_Matrix::clear_is2d() {
  is2d_ = false;
  clear_has_is2d();
}
inline bool LayersPacket_Layer_Matrix::is2d() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.is2D)
  return is2d_;
}
inline void LayersPacket_Layer_Matrix::set_is2d(bool value) {
  set_has_is2d();
  is2d_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.is2D)
}

// optional bool isId = 2;
inline bool LayersPacket_Layer_Matrix::has_isid() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void LayersPacket_Layer_Matrix::set_has_isid() {
  _has_bits_[0] |= 0x00000002u;
}
inline void LayersPacket_Layer_Matrix::clear_has_isid() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void LayersPacket_Layer_Matrix::clear_isid() {
  isid_ = false;
  clear_has_isid();
}
inline bool LayersPacket_Layer_Matrix::isid() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.isId)
  return isid_;
}
inline void LayersPacket_Layer_Matrix::set_isid(bool value) {
  set_has_isid();
  isid_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.isId)
}

// repeated float m = 3;
inline int LayersPacket_Layer_Matrix::m_size() const {
  return m_.size();
}
inline void LayersPacket_Layer_Matrix::clear_m() {
  m_.Clear();
}
inline float LayersPacket_Layer_Matrix::m(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
  return m_.Get(index);
}
inline void LayersPacket_Layer_Matrix::set_m(int index, float value) {
  m_.Set(index, value);
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
}
inline void LayersPacket_Layer_Matrix::add_m(float value) {
  m_.Add(value);
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
}
inline const ::google::protobuf::RepeatedField< float >&
LayersPacket_Layer_Matrix::m() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
  return m_;
}
inline ::google::protobuf::RepeatedField< float >*
LayersPacket_Layer_Matrix::mutable_m() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
  return &m_;
}

// -------------------------------------------------------------------

// LayersPacket_Layer_Shadow

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
inline bool LayersPacket_Layer_Shadow::has_clip() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void LayersPacket_Layer_Shadow::set_has_clip() {
  _has_bits_[0] |= 0x00000001u;
}
inline void LayersPacket_Layer_Shadow::clear_has_clip() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void LayersPacket_Layer_Shadow::clear_clip() {
  if (clip_ != NULL) clip_->::mozilla::layers::layerscope::LayersPacket_Layer_Rect::Clear();
  clear_has_clip();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& LayersPacket_Layer_Shadow::clip() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* p = clip_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Rect_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Shadow::mutable_clip() {
  set_has_clip();
  if (clip_ == NULL) {
    clip_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Rect;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
  return clip_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Shadow::release_clip() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
  clear_has_clip();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* temp = clip_;
  clip_ = NULL;
  return temp;
}
inline void LayersPacket_Layer_Shadow::set_allocated_clip(::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip) {
  delete clip_;
  clip_ = clip;
  if (clip) {
    set_has_clip();
  } else {
    clear_has_clip();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
inline bool LayersPacket_Layer_Shadow::has_transform() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void LayersPacket_Layer_Shadow::set_has_transform() {
  _has_bits_[0] |= 0x00000002u;
}
inline void LayersPacket_Layer_Shadow::clear_has_transform() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void LayersPacket_Layer_Shadow::clear_transform() {
  if (transform_ != NULL) transform_->::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::Clear();
  clear_has_transform();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix& LayersPacket_Layer_Shadow::transform() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* p = transform_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.transform)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Matrix_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* LayersPacket_Layer_Shadow::mutable_transform() {
  set_has_transform();
  if (transform_ == NULL) {
    transform_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.transform)
  return transform_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* LayersPacket_Layer_Shadow::release_transform() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.transform)
  clear_has_transform();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* temp = transform_;
  transform_ = NULL;
  return temp;
}
inline void LayersPacket_Layer_Shadow::set_allocated_transform(::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform) {
  delete transform_;
  transform_ = transform;
  if (transform) {
    set_has_transform();
  } else {
    clear_has_transform();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.transform)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
inline bool LayersPacket_Layer_Shadow::has_vregion() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void LayersPacket_Layer_Shadow::set_has_vregion() {
  _has_bits_[0] |= 0x00000004u;
}
inline void LayersPacket_Layer_Shadow::clear_has_vregion() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void LayersPacket_Layer_Shadow::clear_vregion() {
  if (vregion_ != NULL) vregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
  clear_has_vregion();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer_Shadow::vregion() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region* p = vregion_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.vRegion)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Region_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer_Shadow::mutable_vregion() {
  set_has_vregion();
  if (vregion_ == NULL) {
    vregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.vRegion)
  return vregion_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer_Shadow::release_vregion() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.vRegion)
  clear_has_vregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = vregion_;
  vregion_ = NULL;
  return temp;
}
inline void LayersPacket_Layer_Shadow::set_allocated_vregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion) {
  delete vregion_;
  vregion_ = vregion;
  if (vregion) {
    set_has_vregion();
  } else {
    clear_has_vregion();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.vRegion)
}

// -------------------------------------------------------------------

// LayersPacket_Layer

// required .mozilla.layers.layerscope.LayersPacket.Layer.LayerType type = 1;
inline bool LayersPacket_Layer::has_type() const {
  return (_has_bits_[0] & 0x00004000u) != 0;
}
inline void LayersPacket_Layer::set_has_type() {
  _has_bits_[0] |= 0x00004000u;
}
inline void LayersPacket_Layer::clear_has_type() {
  _has_bits_[0] &= ~0x00004000u;
}
inline void LayersPacket_Layer::clear_type() {
  type_ = 0;
  clear_has_type();
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_LayerType LayersPacket_Layer::type() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.type)
  return static_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_LayerType >(type_);
}
inline void LayersPacket_Layer::set_type(::mozilla::layers::layerscope::LayersPacket_Layer_LayerType value) {
  assert(::mozilla::layers::layerscope::LayersPacket_Layer_LayerType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.type)
}

// required uint64 ptr = 2;
inline bool LayersPacket_Layer::has_ptr() const {
  return (_has_bits_[0] & 0x00001000u) != 0;
}
inline void LayersPacket_Layer::set_has_ptr() {
  _has_bits_[0] |= 0x00001000u;
}
inline void LayersPacket_Layer::clear_has_ptr() {
  _has_bits_[0] &= ~0x00001000u;
}
inline void LayersPacket_Layer::clear_ptr() {
  ptr_ = GOOGLE_ULONGLONG(0);
  clear_has_ptr();
}
inline ::google::protobuf::uint64 LayersPacket_Layer::ptr() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.ptr)
  return ptr_;
}
inline void LayersPacket_Layer::set_ptr(::google::protobuf::uint64 value) {
  set_has_ptr();
  ptr_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.ptr)
}

// required uint64 parentPtr = 3;
inline bool LayersPacket_Layer::has_parentptr() const {
  return (_has_bits_[0] & 0x00002000u) != 0;
}
inline void LayersPacket_Layer::set_has_parentptr() {
  _has_bits_[0] |= 0x00002000u;
}
inline void LayersPacket_Layer::clear_has_parentptr() {
  _has_bits_[0] &= ~0x00002000u;
}
inline void LayersPacket_Layer::clear_parentptr() {
  parentptr_ = GOOGLE_ULONGLONG(0);
  clear_has_parentptr();
}
inline ::google::protobuf::uint64 LayersPacket_Layer::parentptr() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.parentPtr)
  return parentptr_;
}
inline void LayersPacket_Layer::set_parentptr(::google::protobuf::uint64 value) {
  set_has_parentptr();
  parentptr_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.parentPtr)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 10;
inline bool LayersPacket_Layer::has_clip() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void LayersPacket_Layer::set_has_clip() {
  _has_bits_[0] |= 0x00000002u;
}
inline void LayersPacket_Layer::clear_has_clip() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void LayersPacket_Layer::clear_clip() {
  if (clip_ != NULL) clip_->::mozilla::layers::layerscope::LayersPacket_Layer_Rect::Clear();
  clear_has_clip();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& LayersPacket_Layer::clip() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* p = clip_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.clip)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Rect_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer::mutable_clip() {
  set_has_clip();
  if (clip_ == NULL) {
    clip_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Rect;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.clip)
  return clip_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer::release_clip() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.clip)
  clear_has_clip();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* temp = clip_;
  clip_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_clip(::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip) {
  delete clip_;
  clip_ = clip;
  if (clip) {
    set_has_clip();
  } else {
    clear_has_clip();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.clip)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 11;
inline bool LayersPacket_Layer::has_transform() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void LayersPacket_Layer::set_has_transform() {
  _has_bits_[0] |= 0x00000004u;
}
inline void LayersPacket_Layer::clear_has_transform() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void LayersPacket_Layer::clear_transform() {
  if (transform_ != NULL) transform_->::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::Clear();
  clear_has_transform();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix& LayersPacket_Layer::transform() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* p = transform_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.transform)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Matrix_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* LayersPacket_Layer::mutable_transform() {
  set_has_transform();
  if (transform_ == NULL) {
    transform_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.transform)
  return transform_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* LayersPacket_Layer::release_transform() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.transform)
  clear_has_transform();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* temp = transform_;
  transform_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_transform(::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform) {
  delete transform_;
  transform_ = transform;
  if (transform) {
    set_has_transform();
  } else {
    clear_has_transform();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.transform)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 12;
inline bool LayersPacket_Layer::has_vregion() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void LayersPacket_Layer::set_has_vregion() {
  _has_bits_[0] |= 0x00000008u;
}
inline void LayersPacket_Layer::clear_has_vregion() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void LayersPacket_Layer::clear_vregion() {
  if (vregion_ != NULL) vregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
  clear_has_vregion();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::vregion() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region* p = vregion_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.vRegion)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Region_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_vregion() {
  set_has_vregion();
  if (vregion_ == NULL) {
    vregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.vRegion)
  return vregion_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_vregion() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.vRegion)
  clear_has_vregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = vregion_;
  vregion_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_vregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion) {
  delete vregion_;
  vregion_ = vregion;
  if (vregion) {
    set_has_vregion();
  } else {
    clear_has_vregion();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.vRegion)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Shadow shadow = 13;
inline bool LayersPacket_Layer::has_shadow() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void LayersPacket_Layer::set_has_shadow() {
  _has_bits_[0] |= 0x00000010u;
}
inline void LayersPacket_Layer::clear_has_shadow() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void LayersPacket_Layer::clear_shadow() {
  if (shadow_ != NULL) shadow_->::mozilla::layers::layerscope::LayersPacket_Layer_Shadow::Clear();
  clear_has_shadow();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow& LayersPacket_Layer::shadow() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* p = shadow_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.shadow)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Shadow_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* LayersPacket_Layer::mutable_shadow() {
  set_has_shadow();
  if (shadow_ == NULL) {
    shadow_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.shadow)
  return shadow_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* LayersPacket_Layer::release_shadow() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.shadow)
  clear_has_shadow();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* temp = shadow_;
  shadow_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_shadow(::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* shadow) {
  delete shadow_;
  shadow_ = shadow;
  if (shadow) {
    set_has_shadow();
  } else {
    clear_has_shadow();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.shadow)
}

// optional float opacity = 14;
inline bool LayersPacket_Layer::has_opacity() const {
  return (_has_bits_[0] & 0x00008000u) != 0;
}
inline void LayersPacket_Layer::set_has_opacity() {
  _has_bits_[0] |= 0x00008000u;
}
inline void LayersPacket_Layer::clear_has_opacity() {
  _has_bits_[0] &= ~0x00008000u;
}
inline void LayersPacket_Layer::clear_opacity() {
  opacity_ = 0;
  clear_has_opacity();
}
inline float LayersPacket_Layer::opacity() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.opacity)
  return opacity_;
}
inline void LayersPacket_Layer::set_opacity(float value) {
  set_has_opacity();
  opacity_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.opacity)
}

// optional bool cOpaque = 15;
inline bool LayersPacket_Layer::has_copaque() const {
  return (_has_bits_[0] & 0x00040000u) != 0;
}
inline void LayersPacket_Layer::set_has_copaque() {
  _has_bits_[0] |= 0x00040000u;
}
inline void LayersPacket_Layer::clear_has_copaque() {
  _has_bits_[0] &= ~0x00040000u;
}
inline void LayersPacket_Layer::clear_copaque() {
  copaque_ = false;
  clear_has_copaque();
}
inline bool LayersPacket_Layer::copaque() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.cOpaque)
  return copaque_;
}
inline void LayersPacket_Layer::set_copaque(bool value) {
  set_has_copaque();
  copaque_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.cOpaque)
}

// optional bool cAlpha = 16;
inline bool LayersPacket_Layer::has_calpha() const {
  return (_has_bits_[0] & 0x00080000u) != 0;
}
inline void LayersPacket_Layer::set_has_calpha() {
  _has_bits_[0] |= 0x00080000u;
}
inline void LayersPacket_Layer::clear_has_calpha() {
  _has_bits_[0] &= ~0x00080000u;
}
inline void LayersPacket_Layer::clear_calpha() {
  calpha_ = false;
  clear_has_calpha();
}
inline bool LayersPacket_Layer::calpha() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.cAlpha)
  return calpha_;
}
inline void LayersPacket_Layer::set_calpha(bool value) {
  set_has_calpha();
  calpha_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.cAlpha)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.ScrollingDirect direct = 17;
inline bool LayersPacket_Layer::has_direct() const {
  return (_has_bits_[0] & 0x01000000u) != 0;
}
inline void LayersPacket_Layer::set_has_direct() {
  _has_bits_[0] |= 0x01000000u;
}
inline void LayersPacket_Layer::clear_has_direct() {
  _has_bits_[0] &= ~0x01000000u;
}
inline void LayersPacket_Layer::clear_direct() {
  direct_ = 1;
  clear_has_direct();
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect LayersPacket_Layer::direct() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.direct)
  return static_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect >(direct_);
}
inline void LayersPacket_Layer::set_direct(::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect value) {
  assert(::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect_IsValid(value));
  set_has_direct();
  direct_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.direct)
}

// optional uint64 barID = 18;
inline bool LayersPacket_Layer::has_barid() const {
  return (_has_bits_[0] & 0x00010000u) != 0;
}
inline void LayersPacket_Layer::set_has_barid() {
  _has_bits_[0] |= 0x00010000u;
}
inline void LayersPacket_Layer::clear_has_barid() {
  _has_bits_[0] &= ~0x00010000u;
}
inline void LayersPacket_Layer::clear_barid() {
  barid_ = GOOGLE_ULONGLONG(0);
  clear_has_barid();
}
inline ::google::protobuf::uint64 LayersPacket_Layer::barid() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.barID)
  return barid_;
}
inline void LayersPacket_Layer::set_barid(::google::protobuf::uint64 value) {
  set_has_barid();
  barid_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.barID)
}

// optional uint64 mask = 19;
inline bool LayersPacket_Layer::has_mask() const {
  return (_has_bits_[0] & 0x00020000u) != 0;
}
inline void LayersPacket_Layer::set_has_mask() {
  _has_bits_[0] |= 0x00020000u;
}
inline void LayersPacket_Layer::clear_has_mask() {
  _has_bits_[0] &= ~0x00020000u;
}
inline void LayersPacket_Layer::clear_mask() {
  mask_ = GOOGLE_ULONGLONG(0);
  clear_has_mask();
}
inline ::google::protobuf::uint64 LayersPacket_Layer::mask() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.mask)
  return mask_;
}
inline void LayersPacket_Layer::set_mask(::google::protobuf::uint64 value) {
  set_has_mask();
  mask_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.mask)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hitRegion = 20;
inline bool LayersPacket_Layer::has_hitregion() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void LayersPacket_Layer::set_has_hitregion() {
  _has_bits_[0] |= 0x00000020u;
}
inline void LayersPacket_Layer::clear_has_hitregion() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void LayersPacket_Layer::clear_hitregion() {
  if (hitregion_ != NULL) hitregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
  clear_has_hitregion();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::hitregion() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region* p = hitregion_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.hitRegion)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Region_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_hitregion() {
  set_has_hitregion();
  if (hitregion_ == NULL) {
    hitregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.hitRegion)
  return hitregion_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_hitregion() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.hitRegion)
  clear_has_hitregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = hitregion_;
  hitregion_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_hitregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* hitregion) {
  delete hitregion_;
  hitregion_ = hitregion;
  if (hitregion) {
    set_has_hitregion();
  } else {
    clear_has_hitregion();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.hitRegion)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Region dispatchRegion = 21;
inline bool LayersPacket_Layer::has_dispatchregion() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void LayersPacket_Layer::set_has_dispatchregion() {
  _has_bits_[0] |= 0x00000040u;
}
inline void LayersPacket_Layer::clear_has_dispatchregion() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void LayersPacket_Layer::clear_dispatchregion() {
  if (dispatchregion_ != NULL) dispatchregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
  clear_has_dispatchregion();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::dispatchregion() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region* p = dispatchregion_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.dispatchRegion)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Region_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_dispatchregion() {
  set_has_dispatchregion();
  if (dispatchregion_ == NULL) {
    dispatchregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.dispatchRegion)
  return dispatchregion_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_dispatchregion() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.dispatchRegion)
  clear_has_dispatchregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = dispatchregion_;
  dispatchregion_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_dispatchregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* dispatchregion) {
  delete dispatchregion_;
  dispatchregion_ = dispatchregion;
  if (dispatchregion) {
    set_has_dispatchregion();
  } else {
    clear_has_dispatchregion();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.dispatchRegion)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Region noActionRegion = 22;
inline bool LayersPacket_Layer::has_noactionregion() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void LayersPacket_Layer::set_has_noactionregion() {
  _has_bits_[0] |= 0x00000080u;
}
inline void LayersPacket_Layer::clear_has_noactionregion() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void LayersPacket_Layer::clear_noactionregion() {
  if (noactionregion_ != NULL) noactionregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
  clear_has_noactionregion();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::noactionregion() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region* p = noactionregion_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.noActionRegion)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Region_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_noactionregion() {
  set_has_noactionregion();
  if (noactionregion_ == NULL) {
    noactionregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.noActionRegion)
  return noactionregion_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_noactionregion() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.noActionRegion)
  clear_has_noactionregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = noactionregion_;
  noactionregion_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_noactionregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* noactionregion) {
  delete noactionregion_;
  noactionregion_ = noactionregion;
  if (noactionregion) {
    set_has_noactionregion();
  } else {
    clear_has_noactionregion();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.noActionRegion)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hPanRegion = 23;
inline bool LayersPacket_Layer::has_hpanregion() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
inline void LayersPacket_Layer::set_has_hpanregion() {
  _has_bits_[0] |= 0x00000100u;
}
inline void LayersPacket_Layer::clear_has_hpanregion() {
  _has_bits_[0] &= ~0x00000100u;
}
inline void LayersPacket_Layer::clear_hpanregion() {
  if (hpanregion_ != NULL) hpanregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
  clear_has_hpanregion();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::hpanregion() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region* p = hpanregion_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.hPanRegion)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Region_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_hpanregion() {
  set_has_hpanregion();
  if (hpanregion_ == NULL) {
    hpanregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.hPanRegion)
  return hpanregion_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_hpanregion() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.hPanRegion)
  clear_has_hpanregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = hpanregion_;
  hpanregion_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_hpanregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* hpanregion) {
  delete hpanregion_;
  hpanregion_ = hpanregion;
  if (hpanregion) {
    set_has_hpanregion();
  } else {
    clear_has_hpanregion();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.hPanRegion)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vPanRegion = 24;
inline bool LayersPacket_Layer::has_vpanregion() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
inline void LayersPacket_Layer::set_has_vpanregion() {
  _has_bits_[0] |= 0x00000200u;
}
inline void LayersPacket_Layer::clear_has_vpanregion() {
  _has_bits_[0] &= ~0x00000200u;
}
inline void LayersPacket_Layer::clear_vpanregion() {
  if (vpanregion_ != NULL) vpanregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
  clear_has_vpanregion();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::vpanregion() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region* p = vpanregion_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.vPanRegion)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Region_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_vpanregion() {
  set_has_vpanregion();
  if (vpanregion_ == NULL) {
    vpanregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.vPanRegion)
  return vpanregion_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_vpanregion() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.vPanRegion)
  clear_has_vpanregion();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = vpanregion_;
  vpanregion_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_vpanregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vpanregion) {
  delete vpanregion_;
  vpanregion_ = vpanregion;
  if (vpanregion) {
    set_has_vpanregion();
  } else {
    clear_has_vpanregion();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.vPanRegion)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Region valid = 100;
inline bool LayersPacket_Layer::has_valid() const {
  return (_has_bits_[0] & 0x00000400u) != 0;
}
inline void LayersPacket_Layer::set_has_valid() {
  _has_bits_[0] |= 0x00000400u;
}
inline void LayersPacket_Layer::clear_has_valid() {
  _has_bits_[0] &= ~0x00000400u;
}
inline void LayersPacket_Layer::clear_valid() {
  if (valid_ != NULL) valid_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
  clear_has_valid();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::valid() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Region* p = valid_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.valid)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Region_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_valid() {
  set_has_valid();
  if (valid_ == NULL) {
    valid_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.valid)
  return valid_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_valid() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.valid)
  clear_has_valid();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = valid_;
  valid_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_valid(::mozilla::layers::layerscope::LayersPacket_Layer_Region* valid) {
  delete valid_;
  valid_ = valid;
  if (valid) {
    set_has_valid();
  } else {
    clear_has_valid();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.valid)
}

// optional uint32 color = 101;
inline bool LayersPacket_Layer::has_color() const {
  return (_has_bits_[0] & 0x00100000u) != 0;
}
inline void LayersPacket_Layer::set_has_color() {
  _has_bits_[0] |= 0x00100000u;
}
inline void LayersPacket_Layer::clear_has_color() {
  _has_bits_[0] &= ~0x00100000u;
}
inline void LayersPacket_Layer::clear_color() {
  color_ = 0u;
  clear_has_color();
}
inline ::google::protobuf::uint32 LayersPacket_Layer::color() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.color)
  return color_;
}
inline void LayersPacket_Layer::set_color(::google::protobuf::uint32 value) {
  set_has_color();
  color_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.color)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Filter filter = 102;
inline bool LayersPacket_Layer::has_filter() const {
  return (_has_bits_[0] & 0x00400000u) != 0;
}
inline void LayersPacket_Layer::set_has_filter() {
  _has_bits_[0] |= 0x00400000u;
}
inline void LayersPacket_Layer::clear_has_filter() {
  _has_bits_[0] &= ~0x00400000u;
}
inline void LayersPacket_Layer::clear_filter() {
  filter_ = 0;
  clear_has_filter();
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Filter LayersPacket_Layer::filter() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.filter)
  return static_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Filter >(filter_);
}
inline void LayersPacket_Layer::set_filter(::mozilla::layers::layerscope::LayersPacket_Layer_Filter value) {
  assert(::mozilla::layers::layerscope::LayersPacket_Layer_Filter_IsValid(value));
  set_has_filter();
  filter_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.filter)
}

// optional uint64 refID = 103;
inline bool LayersPacket_Layer::has_refid() const {
  return (_has_bits_[0] & 0x00200000u) != 0;
}
inline void LayersPacket_Layer::set_has_refid() {
  _has_bits_[0] |= 0x00200000u;
}
inline void LayersPacket_Layer::clear_has_refid() {
  _has_bits_[0] &= ~0x00200000u;
}
inline void LayersPacket_Layer::clear_refid() {
  refid_ = GOOGLE_ULONGLONG(0);
  clear_has_refid();
}
inline ::google::protobuf::uint64 LayersPacket_Layer::refid() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.refID)
  return refid_;
}
inline void LayersPacket_Layer::set_refid(::google::protobuf::uint64 value) {
  set_has_refid();
  refid_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.refID)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Size size = 104;
inline bool LayersPacket_Layer::has_size() const {
  return (_has_bits_[0] & 0x00000800u) != 0;
}
inline void LayersPacket_Layer::set_has_size() {
  _has_bits_[0] |= 0x00000800u;
}
inline void LayersPacket_Layer::clear_has_size() {
  _has_bits_[0] &= ~0x00000800u;
}
inline void LayersPacket_Layer::clear_size() {
  if (size_ != NULL) size_->::mozilla::layers::layerscope::LayersPacket_Layer_Size::Clear();
  clear_has_size();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Size& LayersPacket_Layer::size() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Size* p = size_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.size)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Size*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Size_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Size* LayersPacket_Layer::mutable_size() {
  set_has_size();
  if (size_ == NULL) {
    size_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Size;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.size)
  return size_;
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer_Size* LayersPacket_Layer::release_size() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.size)
  clear_has_size();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Size* temp = size_;
  size_ = NULL;
  return temp;
}
inline void LayersPacket_Layer::set_allocated_size(::mozilla::layers::layerscope::LayersPacket_Layer_Size* size) {
  delete size_;
  size_ = size;
  if (size) {
    set_has_size();
  } else {
    clear_has_size();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.size)
}

// optional uint32 displayListLogLength = 105;
inline bool LayersPacket_Layer::has_displaylistloglength() const {
  return (_has_bits_[0] & 0x00800000u) != 0;
}
inline void LayersPacket_Layer::set_has_displaylistloglength() {
  _has_bits_[0] |= 0x00800000u;
}
inline void LayersPacket_Layer::clear_has_displaylistloglength() {
  _has_bits_[0] &= ~0x00800000u;
}
inline void LayersPacket_Layer::clear_displaylistloglength() {
  displaylistloglength_ = 0u;
  clear_has_displaylistloglength();
}
inline ::google::protobuf::uint32 LayersPacket_Layer::displaylistloglength() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.displayListLogLength)
  return displaylistloglength_;
}
inline void LayersPacket_Layer::set_displaylistloglength(::google::protobuf::uint32 value) {
  set_has_displaylistloglength();
  displaylistloglength_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.displayListLogLength)
}

// optional bytes displayListLog = 106;
inline bool LayersPacket_Layer::has_displaylistlog() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void LayersPacket_Layer::set_has_displaylistlog() {
  _has_bits_[0] |= 0x00000001u;
}
inline void LayersPacket_Layer::clear_has_displaylistlog() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void LayersPacket_Layer::clear_displaylistlog() {
  displaylistlog_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_displaylistlog();
}
inline const ::std::string& LayersPacket_Layer::displaylistlog() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.displayListLog)
  return displaylistlog_.GetNoArena();
}
inline void LayersPacket_Layer::set_displaylistlog(const ::std::string& value) {
  set_has_displaylistlog();
  displaylistlog_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.displayListLog)
}
#if LANG_CXX11
inline void LayersPacket_Layer::set_displaylistlog(::std::string&& value) {
  set_has_displaylistlog();
  displaylistlog_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:mozilla.layers.layerscope.LayersPacket.Layer.displayListLog)
}
#endif
inline void LayersPacket_Layer::set_displaylistlog(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_displaylistlog();
  displaylistlog_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:mozilla.layers.layerscope.LayersPacket.Layer.displayListLog)
}
inline void LayersPacket_Layer::set_displaylistlog(const void* value, size_t size) {
  set_has_displaylistlog();
  displaylistlog_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:mozilla.layers.layerscope.LayersPacket.Layer.displayListLog)
}
inline ::std::string* LayersPacket_Layer::mutable_displaylistlog() {
  set_has_displaylistlog();
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.displayListLog)
  return displaylistlog_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* LayersPacket_Layer::release_displaylistlog() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.displayListLog)
  clear_has_displaylistlog();
  return displaylistlog_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void LayersPacket_Layer::set_allocated_displaylistlog(::std::string* displaylistlog) {
  if (displaylistlog != NULL) {
    set_has_displaylistlog();
  } else {
    clear_has_displaylistlog();
  }
  displaylistlog_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), displaylistlog);
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.displayListLog)
}

// -------------------------------------------------------------------

// LayersPacket

// repeated .mozilla.layers.layerscope.LayersPacket.Layer layer = 1;
inline int LayersPacket::layer_size() const {
  return layer_.size();
}
inline void LayersPacket::clear_layer() {
  layer_.Clear();
}
inline const ::mozilla::layers::layerscope::LayersPacket_Layer& LayersPacket::layer(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.layer)
  return layer_.Get(index);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer* LayersPacket::mutable_layer(int index) {
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.layer)
  return layer_.Mutable(index);
}
inline ::mozilla::layers::layerscope::LayersPacket_Layer* LayersPacket::add_layer() {
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.LayersPacket.layer)
  return layer_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer >*
LayersPacket::mutable_layer() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.LayersPacket.layer)
  return &layer_;
}
inline const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer >&
LayersPacket::layer() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.LayersPacket.layer)
  return layer_;
}

// -------------------------------------------------------------------

// MetaPacket

// optional bool composedByHwc = 1;
inline bool MetaPacket::has_composedbyhwc() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void MetaPacket::set_has_composedbyhwc() {
  _has_bits_[0] |= 0x00000001u;
}
inline void MetaPacket::clear_has_composedbyhwc() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void MetaPacket::clear_composedbyhwc() {
  composedbyhwc_ = false;
  clear_has_composedbyhwc();
}
inline bool MetaPacket::composedbyhwc() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.MetaPacket.composedByHwc)
  return composedbyhwc_;
}
inline void MetaPacket::set_composedbyhwc(bool value) {
  set_has_composedbyhwc();
  composedbyhwc_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.MetaPacket.composedByHwc)
}

// -------------------------------------------------------------------

// DrawPacket_Rect

// required float x = 1;
inline bool DrawPacket_Rect::has_x() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void DrawPacket_Rect::set_has_x() {
  _has_bits_[0] |= 0x00000001u;
}
inline void DrawPacket_Rect::clear_has_x() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void DrawPacket_Rect::clear_x() {
  x_ = 0;
  clear_has_x();
}
inline float DrawPacket_Rect::x() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.Rect.x)
  return x_;
}
inline void DrawPacket_Rect::set_x(float value) {
  set_has_x();
  x_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.Rect.x)
}

// required float y = 2;
inline bool DrawPacket_Rect::has_y() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void DrawPacket_Rect::set_has_y() {
  _has_bits_[0] |= 0x00000002u;
}
inline void DrawPacket_Rect::clear_has_y() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void DrawPacket_Rect::clear_y() {
  y_ = 0;
  clear_has_y();
}
inline float DrawPacket_Rect::y() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.Rect.y)
  return y_;
}
inline void DrawPacket_Rect::set_y(float value) {
  set_has_y();
  y_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.Rect.y)
}

// required float w = 3;
inline bool DrawPacket_Rect::has_w() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void DrawPacket_Rect::set_has_w() {
  _has_bits_[0] |= 0x00000004u;
}
inline void DrawPacket_Rect::clear_has_w() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void DrawPacket_Rect::clear_w() {
  w_ = 0;
  clear_has_w();
}
inline float DrawPacket_Rect::w() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.Rect.w)
  return w_;
}
inline void DrawPacket_Rect::set_w(float value) {
  set_has_w();
  w_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.Rect.w)
}

// required float h = 4;
inline bool DrawPacket_Rect::has_h() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void DrawPacket_Rect::set_has_h() {
  _has_bits_[0] |= 0x00000008u;
}
inline void DrawPacket_Rect::clear_has_h() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void DrawPacket_Rect::clear_h() {
  h_ = 0;
  clear_has_h();
}
inline float DrawPacket_Rect::h() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.Rect.h)
  return h_;
}
inline void DrawPacket_Rect::set_h(float value) {
  set_has_h();
  h_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.Rect.h)
}

// -------------------------------------------------------------------

// DrawPacket

// required float offsetX = 1;
inline bool DrawPacket::has_offsetx() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void DrawPacket::set_has_offsetx() {
  _has_bits_[0] |= 0x00000001u;
}
inline void DrawPacket::clear_has_offsetx() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void DrawPacket::clear_offsetx() {
  offsetx_ = 0;
  clear_has_offsetx();
}
inline float DrawPacket::offsetx() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.offsetX)
  return offsetx_;
}
inline void DrawPacket::set_offsetx(float value) {
  set_has_offsetx();
  offsetx_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.offsetX)
}

// required float offsetY = 2;
inline bool DrawPacket::has_offsety() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void DrawPacket::set_has_offsety() {
  _has_bits_[0] |= 0x00000002u;
}
inline void DrawPacket::clear_has_offsety() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void DrawPacket::clear_offsety() {
  offsety_ = 0;
  clear_has_offsety();
}
inline float DrawPacket::offsety() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.offsetY)
  return offsety_;
}
inline void DrawPacket::set_offsety(float value) {
  set_has_offsety();
  offsety_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.offsetY)
}

// repeated float mvMatrix = 3;
inline int DrawPacket::mvmatrix_size() const {
  return mvmatrix_.size();
}
inline void DrawPacket::clear_mvmatrix() {
  mvmatrix_.Clear();
}
inline float DrawPacket::mvmatrix(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.mvMatrix)
  return mvmatrix_.Get(index);
}
inline void DrawPacket::set_mvmatrix(int index, float value) {
  mvmatrix_.Set(index, value);
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.mvMatrix)
}
inline void DrawPacket::add_mvmatrix(float value) {
  mvmatrix_.Add(value);
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.DrawPacket.mvMatrix)
}
inline const ::google::protobuf::RepeatedField< float >&
DrawPacket::mvmatrix() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.DrawPacket.mvMatrix)
  return mvmatrix_;
}
inline ::google::protobuf::RepeatedField< float >*
DrawPacket::mutable_mvmatrix() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.DrawPacket.mvMatrix)
  return &mvmatrix_;
}

// required uint32 totalRects = 4;
inline bool DrawPacket::has_totalrects() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void DrawPacket::set_has_totalrects() {
  _has_bits_[0] |= 0x00000008u;
}
inline void DrawPacket::clear_has_totalrects() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void DrawPacket::clear_totalrects() {
  totalrects_ = 0u;
  clear_has_totalrects();
}
inline ::google::protobuf::uint32 DrawPacket::totalrects() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.totalRects)
  return totalrects_;
}
inline void DrawPacket::set_totalrects(::google::protobuf::uint32 value) {
  set_has_totalrects();
  totalrects_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.totalRects)
}

// repeated .mozilla.layers.layerscope.DrawPacket.Rect layerRect = 5;
inline int DrawPacket::layerrect_size() const {
  return layerrect_.size();
}
inline void DrawPacket::clear_layerrect() {
  layerrect_.Clear();
}
inline const ::mozilla::layers::layerscope::DrawPacket_Rect& DrawPacket::layerrect(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.layerRect)
  return layerrect_.Get(index);
}
inline ::mozilla::layers::layerscope::DrawPacket_Rect* DrawPacket::mutable_layerrect(int index) {
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.DrawPacket.layerRect)
  return layerrect_.Mutable(index);
}
inline ::mozilla::layers::layerscope::DrawPacket_Rect* DrawPacket::add_layerrect() {
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.DrawPacket.layerRect)
  return layerrect_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >*
DrawPacket::mutable_layerrect() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.DrawPacket.layerRect)
  return &layerrect_;
}
inline const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >&
DrawPacket::layerrect() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.DrawPacket.layerRect)
  return layerrect_;
}

// required uint64 layerref = 6;
inline bool DrawPacket::has_layerref() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void DrawPacket::set_has_layerref() {
  _has_bits_[0] |= 0x00000004u;
}
inline void DrawPacket::clear_has_layerref() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void DrawPacket::clear_layerref() {
  layerref_ = GOOGLE_ULONGLONG(0);
  clear_has_layerref();
}
inline ::google::protobuf::uint64 DrawPacket::layerref() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.layerref)
  return layerref_;
}
inline void DrawPacket::set_layerref(::google::protobuf::uint64 value) {
  set_has_layerref();
  layerref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.layerref)
}

// repeated uint32 texIDs = 7;
inline int DrawPacket::texids_size() const {
  return texids_.size();
}
inline void DrawPacket::clear_texids() {
  texids_.Clear();
}
inline ::google::protobuf::uint32 DrawPacket::texids(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.texIDs)
  return texids_.Get(index);
}
inline void DrawPacket::set_texids(int index, ::google::protobuf::uint32 value) {
  texids_.Set(index, value);
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.texIDs)
}
inline void DrawPacket::add_texids(::google::protobuf::uint32 value) {
  texids_.Add(value);
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.DrawPacket.texIDs)
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
DrawPacket::texids() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.DrawPacket.texIDs)
  return texids_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
DrawPacket::mutable_texids() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.DrawPacket.texIDs)
  return &texids_;
}

// repeated .mozilla.layers.layerscope.DrawPacket.Rect textureRect = 8;
inline int DrawPacket::texturerect_size() const {
  return texturerect_.size();
}
inline void DrawPacket::clear_texturerect() {
  texturerect_.Clear();
}
inline const ::mozilla::layers::layerscope::DrawPacket_Rect& DrawPacket::texturerect(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.textureRect)
  return texturerect_.Get(index);
}
inline ::mozilla::layers::layerscope::DrawPacket_Rect* DrawPacket::mutable_texturerect(int index) {
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.DrawPacket.textureRect)
  return texturerect_.Mutable(index);
}
inline ::mozilla::layers::layerscope::DrawPacket_Rect* DrawPacket::add_texturerect() {
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.DrawPacket.textureRect)
  return texturerect_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >*
DrawPacket::mutable_texturerect() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.DrawPacket.textureRect)
  return &texturerect_;
}
inline const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >&
DrawPacket::texturerect() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.DrawPacket.textureRect)
  return texturerect_;
}

// -------------------------------------------------------------------

// Packet

// required .mozilla.layers.layerscope.Packet.DataType type = 1;
inline bool Packet::has_type() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void Packet::set_has_type() {
  _has_bits_[0] |= 0x00000040u;
}
inline void Packet::clear_has_type() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void Packet::clear_type() {
  type_ = 1;
  clear_has_type();
}
inline ::mozilla::layers::layerscope::Packet_DataType Packet::type() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.type)
  return static_cast< ::mozilla::layers::layerscope::Packet_DataType >(type_);
}
inline void Packet::set_type(::mozilla::layers::layerscope::Packet_DataType value) {
  assert(::mozilla::layers::layerscope::Packet_DataType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.Packet.type)
}

// optional .mozilla.layers.layerscope.FramePacket frame = 2;
inline bool Packet::has_frame() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Packet::set_has_frame() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Packet::clear_has_frame() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Packet::clear_frame() {
  if (frame_ != NULL) frame_->::mozilla::layers::layerscope::FramePacket::Clear();
  clear_has_frame();
}
inline const ::mozilla::layers::layerscope::FramePacket& Packet::frame() const {
  const ::mozilla::layers::layerscope::FramePacket* p = frame_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.frame)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::FramePacket*>(
      &::mozilla::layers::layerscope::_FramePacket_default_instance_);
}
inline ::mozilla::layers::layerscope::FramePacket* Packet::mutable_frame() {
  set_has_frame();
  if (frame_ == NULL) {
    frame_ = new ::mozilla::layers::layerscope::FramePacket;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.frame)
  return frame_;
}
inline ::mozilla::layers::layerscope::FramePacket* Packet::release_frame() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.Packet.frame)
  clear_has_frame();
  ::mozilla::layers::layerscope::FramePacket* temp = frame_;
  frame_ = NULL;
  return temp;
}
inline void Packet::set_allocated_frame(::mozilla::layers::layerscope::FramePacket* frame) {
  delete frame_;
  frame_ = frame;
  if (frame) {
    set_has_frame();
  } else {
    clear_has_frame();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.frame)
}

// optional .mozilla.layers.layerscope.ColorPacket color = 3;
inline bool Packet::has_color() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Packet::set_has_color() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Packet::clear_has_color() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Packet::clear_color() {
  if (color_ != NULL) color_->::mozilla::layers::layerscope::ColorPacket::Clear();
  clear_has_color();
}
inline const ::mozilla::layers::layerscope::ColorPacket& Packet::color() const {
  const ::mozilla::layers::layerscope::ColorPacket* p = color_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.color)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::ColorPacket*>(
      &::mozilla::layers::layerscope::_ColorPacket_default_instance_);
}
inline ::mozilla::layers::layerscope::ColorPacket* Packet::mutable_color() {
  set_has_color();
  if (color_ == NULL) {
    color_ = new ::mozilla::layers::layerscope::ColorPacket;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.color)
  return color_;
}
inline ::mozilla::layers::layerscope::ColorPacket* Packet::release_color() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.Packet.color)
  clear_has_color();
  ::mozilla::layers::layerscope::ColorPacket* temp = color_;
  color_ = NULL;
  return temp;
}
inline void Packet::set_allocated_color(::mozilla::layers::layerscope::ColorPacket* color) {
  delete color_;
  color_ = color;
  if (color) {
    set_has_color();
  } else {
    clear_has_color();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.color)
}

// optional .mozilla.layers.layerscope.TexturePacket texture = 4;
inline bool Packet::has_texture() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Packet::set_has_texture() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Packet::clear_has_texture() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Packet::clear_texture() {
  if (texture_ != NULL) texture_->::mozilla::layers::layerscope::TexturePacket::Clear();
  clear_has_texture();
}
inline const ::mozilla::layers::layerscope::TexturePacket& Packet::texture() const {
  const ::mozilla::layers::layerscope::TexturePacket* p = texture_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.texture)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::TexturePacket*>(
      &::mozilla::layers::layerscope::_TexturePacket_default_instance_);
}
inline ::mozilla::layers::layerscope::TexturePacket* Packet::mutable_texture() {
  set_has_texture();
  if (texture_ == NULL) {
    texture_ = new ::mozilla::layers::layerscope::TexturePacket;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.texture)
  return texture_;
}
inline ::mozilla::layers::layerscope::TexturePacket* Packet::release_texture() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.Packet.texture)
  clear_has_texture();
  ::mozilla::layers::layerscope::TexturePacket* temp = texture_;
  texture_ = NULL;
  return temp;
}
inline void Packet::set_allocated_texture(::mozilla::layers::layerscope::TexturePacket* texture) {
  delete texture_;
  texture_ = texture;
  if (texture) {
    set_has_texture();
  } else {
    clear_has_texture();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.texture)
}

// optional .mozilla.layers.layerscope.LayersPacket layers = 5;
inline bool Packet::has_layers() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Packet::set_has_layers() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Packet::clear_has_layers() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Packet::clear_layers() {
  if (layers_ != NULL) layers_->::mozilla::layers::layerscope::LayersPacket::Clear();
  clear_has_layers();
}
inline const ::mozilla::layers::layerscope::LayersPacket& Packet::layers() const {
  const ::mozilla::layers::layerscope::LayersPacket* p = layers_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.layers)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket*>(
      &::mozilla::layers::layerscope::_LayersPacket_default_instance_);
}
inline ::mozilla::layers::layerscope::LayersPacket* Packet::mutable_layers() {
  set_has_layers();
  if (layers_ == NULL) {
    layers_ = new ::mozilla::layers::layerscope::LayersPacket;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.layers)
  return layers_;
}
inline ::mozilla::layers::layerscope::LayersPacket* Packet::release_layers() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.Packet.layers)
  clear_has_layers();
  ::mozilla::layers::layerscope::LayersPacket* temp = layers_;
  layers_ = NULL;
  return temp;
}
inline void Packet::set_allocated_layers(::mozilla::layers::layerscope::LayersPacket* layers) {
  delete layers_;
  layers_ = layers;
  if (layers) {
    set_has_layers();
  } else {
    clear_has_layers();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.layers)
}

// optional .mozilla.layers.layerscope.MetaPacket meta = 6;
inline bool Packet::has_meta() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Packet::set_has_meta() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Packet::clear_has_meta() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void Packet::clear_meta() {
  if (meta_ != NULL) meta_->::mozilla::layers::layerscope::MetaPacket::Clear();
  clear_has_meta();
}
inline const ::mozilla::layers::layerscope::MetaPacket& Packet::meta() const {
  const ::mozilla::layers::layerscope::MetaPacket* p = meta_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.meta)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::MetaPacket*>(
      &::mozilla::layers::layerscope::_MetaPacket_default_instance_);
}
inline ::mozilla::layers::layerscope::MetaPacket* Packet::mutable_meta() {
  set_has_meta();
  if (meta_ == NULL) {
    meta_ = new ::mozilla::layers::layerscope::MetaPacket;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.meta)
  return meta_;
}
inline ::mozilla::layers::layerscope::MetaPacket* Packet::release_meta() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.Packet.meta)
  clear_has_meta();
  ::mozilla::layers::layerscope::MetaPacket* temp = meta_;
  meta_ = NULL;
  return temp;
}
inline void Packet::set_allocated_meta(::mozilla::layers::layerscope::MetaPacket* meta) {
  delete meta_;
  meta_ = meta;
  if (meta) {
    set_has_meta();
  } else {
    clear_has_meta();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.meta)
}

// optional .mozilla.layers.layerscope.DrawPacket draw = 7;
inline bool Packet::has_draw() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void Packet::set_has_draw() {
  _has_bits_[0] |= 0x00000020u;
}
inline void Packet::clear_has_draw() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void Packet::clear_draw() {
  if (draw_ != NULL) draw_->::mozilla::layers::layerscope::DrawPacket::Clear();
  clear_has_draw();
}
inline const ::mozilla::layers::layerscope::DrawPacket& Packet::draw() const {
  const ::mozilla::layers::layerscope::DrawPacket* p = draw_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.draw)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::DrawPacket*>(
      &::mozilla::layers::layerscope::_DrawPacket_default_instance_);
}
inline ::mozilla::layers::layerscope::DrawPacket* Packet::mutable_draw() {
  set_has_draw();
  if (draw_ == NULL) {
    draw_ = new ::mozilla::layers::layerscope::DrawPacket;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.draw)
  return draw_;
}
inline ::mozilla::layers::layerscope::DrawPacket* Packet::release_draw() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.Packet.draw)
  clear_has_draw();
  ::mozilla::layers::layerscope::DrawPacket* temp = draw_;
  draw_ = NULL;
  return temp;
}
inline void Packet::set_allocated_draw(::mozilla::layers::layerscope::DrawPacket* draw) {
  delete draw_;
  draw_ = draw;
  if (draw) {
    set_has_draw();
  } else {
    clear_has_draw();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.draw)
}

// -------------------------------------------------------------------

// CommandPacket

// required .mozilla.layers.layerscope.CommandPacket.CmdType type = 1;
inline bool CommandPacket::has_type() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void CommandPacket::set_has_type() {
  _has_bits_[0] |= 0x00000001u;
}
inline void CommandPacket::clear_has_type() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void CommandPacket::clear_type() {
  type_ = 0;
  clear_has_type();
}
inline ::mozilla::layers::layerscope::CommandPacket_CmdType CommandPacket::type() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.CommandPacket.type)
  return static_cast< ::mozilla::layers::layerscope::CommandPacket_CmdType >(type_);
}
inline void CommandPacket::set_type(::mozilla::layers::layerscope::CommandPacket_CmdType value) {
  assert(::mozilla::layers::layerscope::CommandPacket_CmdType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.CommandPacket.type)
}

// optional bool value = 2;
inline bool CommandPacket::has_value() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void CommandPacket::set_has_value() {
  _has_bits_[0] |= 0x00000002u;
}
inline void CommandPacket::clear_has_value() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void CommandPacket::clear_value() {
  value_ = false;
  clear_has_value();
}
inline bool CommandPacket::value() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.CommandPacket.value)
  return value_;
}
inline void CommandPacket::set_value(bool value) {
  set_has_value();
  value_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.CommandPacket.value)
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
#endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)


}  // namespace layerscope
}  // namespace layers
}  // namespace mozilla

namespace google {
namespace protobuf {

template <> struct is_proto_enum< ::mozilla::layers::layerscope::TexturePacket_Filter> : ::google::protobuf::internal::true_type {};
template <> struct is_proto_enum< ::mozilla::layers::layerscope::LayersPacket_Layer_LayerType> : ::google::protobuf::internal::true_type {};
template <> struct is_proto_enum< ::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect> : ::google::protobuf::internal::true_type {};
template <> struct is_proto_enum< ::mozilla::layers::layerscope::LayersPacket_Layer_Filter> : ::google::protobuf::internal::true_type {};
template <> struct is_proto_enum< ::mozilla::layers::layerscope::Packet_DataType> : ::google::protobuf::internal::true_type {};
template <> struct is_proto_enum< ::mozilla::layers::layerscope::CommandPacket_CmdType> : ::google::protobuf::internal::true_type {};

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_LayerScopePacket_2eproto__INCLUDED
