/*
 * Copyright 2011 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#include "SkBitmapScaler.h"
#include "SkBitmapProcState.h"

/*  A platform may optionally overwrite any of these with accelerated
    versions. On input, these will already have valid function pointers,
    so a platform need only overwrite the ones it chooses, based on the
    current state (e.g. fBitmap, fInvMatrix, etc.)

    fShaderProc32
    fShaderProc16
    fMatrixProc
    fSampleProc32
    fSampleProc32
 */

// empty implementation just uses default supplied function pointers
void SkBitmapProcState::platformProcs() {}
