110dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck/* 210dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * Copyright (C) 2016 The Android Open Source Project 310dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * 410dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * Licensed under the Apache License, Version 2.0 (the "License"); 510dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * you may not use this file except in compliance with the License. 610dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * You may obtain a copy of the License at 710dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * 810dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * http://www.apache.org/licenses/LICENSE-2.0 910dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * 1010dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * Unless required by applicable law or agreed to in writing, software 1110dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * distributed under the License is distributed on an "AS IS" BASIS, 1210dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1310dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * See the License for the specific language governing permissions and 1410dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck * limitations under the License. 1510dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck */ 1610dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck 1710dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck#pragma once 1810dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck 1910dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck#include "renderthread/RenderThread.h" 2010dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck 2110dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck#include <SkBitmap.h> 2210dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck#include <gui/Surface.h> 2310dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck 2410dd0585c11dcedb5a271d54e645594f1d215d5cJohn Recknamespace android { 2510dd0585c11dcedb5a271d54e645594f1d215d5cJohn Recknamespace uirenderer { 2610dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck 27e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reck// Keep in sync with PixelCopy.java codes 28e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reckenum class CopyResult { 29e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reck Success = 0, 30e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reck UnknownError = 1, 31e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reck Timeout = 2, 32e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reck SourceEmpty = 3, 33e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reck SourceInvalid = 4, 34e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reck DestinationInvalid = 5, 35e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reck}; 36e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reck 3710dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reckclass Readback { 3810dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reckpublic: 39e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1John Reck static CopyResult copySurfaceInto(renderthread::RenderThread& renderThread, 4010dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck Surface& surface, SkBitmap* bitmap); 4110dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck}; 4210dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck 4310dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck} // namespace uirenderer 4410dd0585c11dcedb5a271d54e645594f1d215d5cJohn Reck} // namespace android 45