/usr/include/Wt/WFlashObject is in libwt-dev 3.1.10-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | // This may look like C code, but it's really -*- C++ -*-
/*
* Copyright (C) 2010 Emweb bvba, Leuven, Belgium.
*
* See the LICENSE file for terms of use.
*/
#ifndef WFLASHOBJECT_H_
#define WFLASHOBJECT_H_
#include <Wt/WWebWidget>
namespace Wt {
/*! \class WFlashObject Wt/WFlashObject Wt/WFlashObject
* \brief A widget that renders a Flash object (also known as Flash movie).
*
* This class loads a .swf Flash file in the browser.
*
* \if cpp
* Usage example:
* \code
* WFlashObject *player = new WFlashObject("dummy.swf", parent);
* player->resize(300, 600);
* player->setFlashParameter("allowScriptAccess", "always");
* player->setFlashParameter("quality", "high");
* player->setFlashParameter("bgcolor", "#aaaaaa");
* player->setFlashVariable("someVar", "foo");
* \endcode
* \endif
*
* Flash objects must have their size set, so do not forget to call
* resize() after instantiation or your content will be invisible. %Wt
* will modify width and height attributes of the Flash object if resize()
* is called after the object is instantiated; it is however not clear
* if this is permitted by the Flash plugin.
*
* Any WWidget can be set with setAlternativeContent(), and this widget
* will be shown only when the browser has no Flash support. By default,
* a 'Download Flash' button will be displayed that links to a website
* where the Flash player can be downloaded. You may modify this to be
* any widget, such as a WImage, or a native %Wt implementation of the
* Flash movie.
*
* <h3>CSS</h3>
*
* Styling through CSS is not applicable.
*/
class WT_API WFlashObject : public WWebWidget
{
public:
/*! \brief Constructs a Flash widget.
*/
WFlashObject(const std::string &url, WContainerWidget *parent = 0);
/*! \brief Destructor
*
* The Flash object is removed.
*/
~WFlashObject();
virtual void resize(const WLength &width, const WLength &height);
/*! \brief Sets a Flash parameter.
*
* The Flash parameters are items such as quality, scale, menu, ...
* They are passed as PARAM objects to the Flash movie. See the
* adobe website for more information about these parameters:
* http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_12701
*
* Setting the same Flash parameter a second time will overwrite the
* previous value. Flash parameters can only be set before the widget
* is rendered for the first time, so it is recommended to call this
* method shortly after construction before returning to the idle loop.
*/
void setFlashParameter(const std::string &name, const WString &value);
/*! \brief Sets a Flash variable.
*
* This method is a helper function to set variable values in the
* flashvars parameter.
*
* The flash variables will be properly encoded (URL encoding) before
* being passed to the flashvars parameter.
*
* Setting the same Flash variable a second time will overwrite the
* previous value. Flash variables can only be set before the widget
* is rendered for the first time, so it is recommended to call this
* method shortly after construction before returning to the idle loop.
*/
void setFlashVariable(const std::string &name, const WString &value);
/*! \brief A JavaScript expression that returns the DOM node of the Flash
* object.
*
* The Flash object is not stored in jsRef(), but in jsFlashRef(). Use this
* method in conjuction with WApplication::doJavaScript() or JSlot in custom
* JavaScript code to refer to the Flash content.
*
* The expression returned by jsFlashRef() may be null,
* for example on IE when flash is not installed.
*/
std::string jsFlashRef() const;
/*! \brief Sets content to be displayed if Flash is not available.
*
* Any widget can be a placeholder when Flash is not installed in the
* users browser. By default, this will show a 'Download Flash' button
* and link to the Flash download site.
*
* Call this method with a NULL pointer to remove the alternative content.
*/
void setAlternativeContent(WWidget *alternative);
protected:
void updateDom(DomElement& element, bool all);
void getDomChanges(std::vector<DomElement *>& result,
WApplication *app);
DomElementType domElementType() const;
private:
std::string url_;
bool sizeChanged_;
std::map<std::string, WString> parameters_;
std::map<std::string, WString> variables_;
WWidget *alternative_;
JSignal<> ieRendersAlternative_;
bool replaceDummyIeContent_;
void renderIeAltnerative();
};
}
#endif // WFLASHOBJECT_H_
|