gfx/webrender_bindings/WebRenderTypes.cpp
author Ehsan Akhgari <ehsan@mozilla.com>
Fri, 22 Feb 2019 14:25:04 +0000
changeset 460581 045d790ca417fc6e827b57eef8ec5aea2beef81a
parent 452998 9dcf694ba4b32bbebc7ae4e88675ddee1c40996a
child 465578 c09a51622e988e81077c75e3aaa5a49df66284b3
permissions -rw-r--r--
Bug 1529780 - Compute ImageCacheKey's hash number lazily; r=tnikkel Differential Revision: https://phabricator.services.mozilla.com/D20746

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "WebRenderTypes.h"

#include "mozilla/ipc/ByteBuf.h"

namespace mozilla {
namespace wr {

WindowId NewWindowId() {
  static uint64_t sNextId = 1;

  WindowId id;
  id.mHandle = sNextId++;
  return id;
}

void Assign_WrVecU8(wr::WrVecU8& aVec, mozilla::ipc::ByteBuf&& aOther) {
  aVec.data = aOther.mData;
  aVec.length = aOther.mLen;
  aVec.capacity = aOther.mCapacity;
  aOther.mData = nullptr;
  aOther.mLen = 0;
  aOther.mCapacity = 0;
}

WrSpaceAndClip RootScrollNode() {
  WrSpaceAndClip sac;
  sac.clip = wr_root_clip_id();
  sac.space = wr_root_scroll_node_id();
  return sac;
}

WrSpaceAndClipChain RootScrollNodeWithChain() {
  WrSpaceAndClipChain sacc;
  sacc.clip_chain = wr::ROOT_CLIP_CHAIN;
  sacc.space = wr_root_scroll_node_id();
  return sacc;
}

}  // namespace wr
}  // namespace mozilla