~ubuntu-branches/ubuntu/saucy/gnash/saucy-proposed

« back to all changes in this revision

Viewing changes to libdevice/GnashDevice.h

  • Committer: Package Import Robot
  • Author(s): Micah Gersten
  • Date: 2012-03-04 03:19:06 UTC
  • mfrom: (1.1.18) (3.1.24 sid)
  • Revision ID: package-import@ubuntu.com-20120304031906-p6q5rnb0xhgpof7o
Tags: 0.8.10-3ubuntu1
* Merge from Debian testing (FFe: LP: #940876), remaining changes:
  - Use mozilla-flashplugin as the alternative for now
  - Change xulrunner-dev build dep to firefox-dev
* Drop the plugin API porting patch, this has been fixed upstream
  - drop debian/patches*
* Drop the following change as we want Adobe's player to take priority
  if it's installed
  - Set alternative priority to 50 so that it matches Adobe Flash's priority

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
//
2
 
//   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
3
 
//   Foundation, Inc
 
2
//   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010. 2011, 2012
 
3
//   Free Software Foundation, Inc
4
4
//
5
5
// This program is free software; you can redistribute it and/or modify
6
6
// it under the terms of the GNU General Public License as published by
24
24
#include "gnashconfig.h"
25
25
#endif
26
26
 
27
 
#include <boost/scoped_array.hpp>
28
 
 
29
 
#include "Geometry.h"
 
27
#include <boost/cstdint.hpp>
 
28
#include "log.h"
30
29
 
31
30
/// @note This file is the base class for all low level rendering and display
32
31
/// devices. These devices must be probed and initialized first, before any
39
38
 
40
39
struct GnashDevice
41
40
{
42
 
    typedef std::vector<const Path*> PathRefs;
43
 
    typedef std::vector<Path> PathVec;
44
 
    typedef std::vector<geometry::Range2d<int> > ClipBounds;
45
 
    typedef std::vector<const Path*> PathPtrVec;
46
 
    
47
41
    /// Handle multiple window types. The derived classes will cast this to
48
42
    /// the proper data type.
49
43
    typedef long native_window_t;
80
74
    // int queryGNASHConfig() { return queryGNASHConfig(_gnashDisplay); };
81
75
    // int queryGNASHConfig(GNASHDisplay display);
82
76
 
 
77
    /// Get the stride of the device
 
78
    virtual size_t getStride() = 0;
 
79
 
83
80
    /// Get the width of the device
84
81
    virtual size_t getWidth() = 0;
85
82
 
113
110
    /// Is this renderering natively
114
111
    virtual bool isNativeRender() = 0;
115
112
 
 
113
    // These are only used for the Framebuffer
 
114
 
 
115
    /// Get the memory from the real framebuffer
116
116
    virtual boost::uint8_t *getFBMemory() { return 0; };
 
117
    
 
118
    /// Get the memory from an offscreen buffer to support Double Buffering
 
119
    virtual boost::uint8_t *getOffscreenBuffer() { return 0; };
 
120
 
117
121
    virtual size_t getFBMemSize() { return 0; };
118
122
 
119
123
    // bindClient() is used by OpenVG, OpenGLES1, and OpenGLES2