diff options
author | Greg Daniel <egdaniel@google.com> | 2017-11-18 13:31:59 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-11-18 13:32:08 +0000 |
commit | 9c2202ffc22b4293b48a4edeafa1b5d2bab8bb83 (patch) | |
tree | 6667b8892e760ba70baa81f55a36c974eeb31761 /src/core/SkArenaAllocList.h | |
parent | c12853ae42c30ef1cffb77c7777b330a7bbdb603 (diff) |
Revert "Add Atlas Text interface for rendering SDF glyphs."
This reverts commit 39631f3df172feb385527a5d125bc53b0bded7e6.
Reason for revert: break google3 rool
Original change's description:
> Add Atlas Text interface for rendering SDF glyphs.
>
> This new API is built upon SDF text atlas code from the GPU backend. Unlike using the GPU
> backend to draw text, this set of interfaces allows the client to render the SDF glyphs. The
> client issues text draws to potentially multiple targets and then the client flushes. The
> client then gets commands from Skia with data to put into a texture atlas and vertices to
> draw that reference the texture. The client is responsible for creating the texture, uploading
> the SDF data to the texture, and drawing the vertices provided by Skia.
>
> Change-Id: Ie9447e19b85f0ce1c2b942e5216c787a74f335d3
> Reviewed-on: https://skia-review.googlesource.com/59360
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: I4aad0c99e645b476fd8ba25731f2a10e8802bb25
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/73420
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'src/core/SkArenaAllocList.h')
-rw-r--r-- | src/core/SkArenaAllocList.h | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/src/core/SkArenaAllocList.h b/src/core/SkArenaAllocList.h deleted file mode 100644 index b4e442b0bd..0000000000 --- a/src/core/SkArenaAllocList.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2017 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkArenaAllocList_DEFINED -#define SkArenaAllocList_DEFINED - -#include "SkArenaAlloc.h" - -/** - * A singly linked list of Ts stored in a SkArenaAlloc. The arena rather than the list owns - * the elements. This supports forward iteration and range based for loops. - */ -template <typename T> -class SkArenaAllocList { -private: - struct Node; - -public: - SkArenaAllocList() = default; - - void reset() { fHead = fTail = nullptr; } - - template <typename... Args> - inline T& append(SkArenaAlloc* arena, Args... args); - - class Iter { - public: - Iter() = default; - inline Iter& operator++(); - T& operator*() const { return fCurr->fT; } - T* operator->() const { return &fCurr->fT; } - bool operator==(const Iter& that) const { return fCurr == that.fCurr; } - bool operator!=(const Iter& that) const { return !(*this == that); } - - private: - friend class SkArenaAllocList; - explicit Iter(Node* node) : fCurr(node) {} - Node* fCurr = nullptr; - }; - - Iter begin() { return Iter(fHead); } - Iter end() { return Iter(); } - Iter tail() { return Iter(fTail); } - -private: - struct Node { - template <typename... Args> - Node(Args... args) : fT(std::forward<Args>(args)...) {} - T fT; - Node* fNext = nullptr; - }; - Node* fHead = nullptr; - Node* fTail = nullptr; -}; - -template <typename T> -template <typename... Args> -T& SkArenaAllocList<T>::append(SkArenaAlloc* arena, Args... args) { - SkASSERT(!fHead == !fTail); - auto* n = arena->make<Node>(std::forward<Args>(args)...); - if (!fTail) { - fHead = fTail = n; - } else { - fTail = fTail->fNext = n; - } - return fTail->fT; -} - -template <typename T> -typename SkArenaAllocList<T>::Iter& SkArenaAllocList<T>::Iter::operator++() { - fCurr = fCurr->fNext; - return *this; -} - -#endif |