1*c8dee2aaSAndroid Build Coastguard Worker /* 2*c8dee2aaSAndroid Build Coastguard Worker * Copyright 2023 Google LLC 3*c8dee2aaSAndroid Build Coastguard Worker * 4*c8dee2aaSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license that can be 5*c8dee2aaSAndroid Build Coastguard Worker * found in the LICENSE file. 6*c8dee2aaSAndroid Build Coastguard Worker */ 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker #include "include/encode/SkEncoder.h" 9*c8dee2aaSAndroid Build Coastguard Worker 10*c8dee2aaSAndroid Build Coastguard Worker #include "include/private/base/SkAssert.h" 11*c8dee2aaSAndroid Build Coastguard Worker encodeRows(int numRows)12*c8dee2aaSAndroid Build Coastguard Workerbool SkEncoder::encodeRows(int numRows) { 13*c8dee2aaSAndroid Build Coastguard Worker SkASSERT(numRows > 0 && fCurrRow < fSrc.height()); 14*c8dee2aaSAndroid Build Coastguard Worker if (numRows <= 0 || fCurrRow >= fSrc.height()) { 15*c8dee2aaSAndroid Build Coastguard Worker return false; 16*c8dee2aaSAndroid Build Coastguard Worker } 17*c8dee2aaSAndroid Build Coastguard Worker 18*c8dee2aaSAndroid Build Coastguard Worker if (fCurrRow + numRows > fSrc.height()) { 19*c8dee2aaSAndroid Build Coastguard Worker numRows = fSrc.height() - fCurrRow; 20*c8dee2aaSAndroid Build Coastguard Worker } 21*c8dee2aaSAndroid Build Coastguard Worker 22*c8dee2aaSAndroid Build Coastguard Worker if (!this->onEncodeRows(numRows)) { 23*c8dee2aaSAndroid Build Coastguard Worker // If we fail, short circuit any future calls. 24*c8dee2aaSAndroid Build Coastguard Worker fCurrRow = fSrc.height(); 25*c8dee2aaSAndroid Build Coastguard Worker return false; 26*c8dee2aaSAndroid Build Coastguard Worker } 27*c8dee2aaSAndroid Build Coastguard Worker 28*c8dee2aaSAndroid Build Coastguard Worker return true; 29*c8dee2aaSAndroid Build Coastguard Worker } 30