diff src/gtk/filters.h @ 1:f9f4f1b99eed

importing src directory
author Robert McIntyre <rlm@mit.edu>
date Sat, 03 Mar 2012 10:31:27 -0600
parents
children
line wrap: on
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/gtk/filters.h	Sat Mar 03 10:31:27 2012 -0600
     1.3 @@ -0,0 +1,106 @@
     1.4 +// -*- C++ -*-
     1.5 +// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
     1.6 +// Copyright (C) 1999-2003 Forgotten
     1.7 +// Copyright (C) 2004 Forgotten and the VBA development team
     1.8 +
     1.9 +// This program is free software; you can redistribute it and/or modify
    1.10 +// it under the terms of the GNU General Public License as published by
    1.11 +// the Free Software Foundation; either version 2, or(at your option)
    1.12 +// any later version.
    1.13 +//
    1.14 +// This program is distributed in the hope that it will be useful,
    1.15 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
    1.16 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1.17 +// GNU General Public License for more details.
    1.18 +//
    1.19 +// You should have received a copy of the GNU General Public License
    1.20 +// along with this program; if not, write to the Free Software Foundation,
    1.21 +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    1.22 +
    1.23 +#ifndef __VBA_FILTERS_H__
    1.24 +#define __VBA_FILTERS_H__
    1.25 +
    1.26 +#include "../common/System.h"
    1.27 +
    1.28 +int Init_2xSaI(u32);
    1.29 +
    1.30 +void _2xSaI        (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.31 +void _2xSaI32      (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.32 +void Super2xSaI    (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.33 +void Super2xSaI32  (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.34 +void SuperEagle    (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.35 +void SuperEagle32  (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.36 +void Pixelate2x16  (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.37 +void Pixelate2x32  (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.38 +void MotionBlur    (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.39 +void MotionBlur32  (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.40 +void AdMame2x      (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.41 +void AdMame2x32    (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.42 +void Simple2x16    (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.43 +void Simple2x32    (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.44 +void Bilinear      (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.45 +void Bilinear32    (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.46 +void BilinearPlus  (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.47 +void BilinearPlus32(u8 *, u32, u8 *, u8 *, u32, int, int);
    1.48 +void Scanlines     (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.49 +void Scanlines32   (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.50 +void ScanlinesTV   (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.51 +void ScanlinesTV32 (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.52 +void hq2x          (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.53 +void hq2x32        (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.54 +void lq2x          (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.55 +void lq2x32        (u8 *, u32, u8 *, u8 *, u32, int, int);
    1.56 +
    1.57 +void SmartIB       (u8 *, u32, int, int);
    1.58 +void SmartIB32     (u8 *, u32, int, int);
    1.59 +void MotionBlurIB  (u8 *, u32, int, int);
    1.60 +void MotionBlurIB32(u8 *, u32, int, int);
    1.61 +
    1.62 +namespace VBA
    1.63 +{
    1.64 +
    1.65 +typedef void (*Filter2x)(u8 *, u32, u8 *, u8 *, u32, int, int);
    1.66 +typedef void (*FilterIB)(u8 *, u32, int, int);
    1.67 +
    1.68 +enum EFilter2x
    1.69 +{
    1.70 +  FirstFilter,
    1.71 +  FilterNone = FirstFilter,
    1.72 +  Filter2xSaI,
    1.73 +  FilterSuper2xSaI,
    1.74 +  FilterSuperEagle,
    1.75 +  FilterPixelate,
    1.76 +  FilterMotionBlur,
    1.77 +  FilterAdMame2x,
    1.78 +  FilterSimple2x,
    1.79 +  FilterBilinear,
    1.80 +  FilterBilinearPlus,
    1.81 +  FilterScanlines,
    1.82 +  FilterScanlinesTV,
    1.83 +  FilterHq2x,
    1.84 +  FilterLq2x,
    1.85 +  LastFilter = FilterLq2x
    1.86 +};
    1.87 +
    1.88 +enum EFilterIB
    1.89 +{
    1.90 +  FirstFilterIB,
    1.91 +  FilterIBNone = FirstFilterIB,
    1.92 +  FilterIBSmart,
    1.93 +  FilterIBMotionBlur,
    1.94 +  LastFilterIB = FilterIBMotionBlur
    1.95 +};
    1.96 +
    1.97 +enum EFilterDepth
    1.98 +{
    1.99 +  FilterDepth16,
   1.100 +  FilterDepth32
   1.101 +};
   1.102 +
   1.103 +Filter2x pvGetFilter2x(EFilter2x _eFilter2x, EFilterDepth _eDepth);
   1.104 +FilterIB pvGetFilterIB(EFilterIB _eFilterIB, EFilterDepth _eDepth);
   1.105 +
   1.106 +} // namespace VBA
   1.107 +
   1.108 +
   1.109 +#endif // __VBA_FILTERS_H__