KHtml

HTMLVideoElement.cpp
1 /*
2  * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25 
26 #include "HTMLVideoElement.h"
27 
28 #include "HTMLDocument.h"
29 #include <rendering/render_media.h>
30 
31 namespace khtml
32 {
33 
34 HTMLVideoElement::HTMLVideoElement(Document *doc)
35  : HTMLMediaElement(doc)
36 {
37 }
38 
39 DOM::NodeImpl::Id HTMLVideoElement::id() const
40 {
41  return ID_VIDEO;
42 }
43 
44 int HTMLVideoElement::videoWidth() const
45 {
46  if (!m_player) {
47  return 0;
48  }
49  if (m_player->mediaObject()->hasVideo()) {
50  return m_player->videoWidget()->sizeHint().width();
51  } else {
52  return 0;
53  }
54 }
55 
56 int HTMLVideoElement::videoHeight() const
57 {
58  if (!m_player) {
59  return 0;
60  }
61  if (m_player->mediaObject()->hasVideo()) {
62  return m_player->videoWidget()->sizeHint().height();
63  } else {
64  return 0;
65  }
66 }
67 
68 int HTMLVideoElement::width() const
69 {
70  bool ok;
71  int w = getAttribute(ATTR_WIDTH).toInt(&ok);
72  return ok ? w : 0;
73 }
74 
75 void HTMLVideoElement::setWidth(int value)
76 {
77  setAttribute(ATTR_WIDTH, QString::number(value));
78 }
79 
80 int HTMLVideoElement::height() const
81 {
82  bool ok;
83  int h = getAttribute(ATTR_HEIGHT).toInt(&ok);
84  return ok ? h : 0;
85 }
86 
87 void HTMLVideoElement::setHeight(int value)
88 {
89  setAttribute(ATTR_HEIGHT, QString::number(value));
90 }
91 
92 DOMString HTMLVideoElement::poster() const
93 {
94  return document()->completeURL(getAttribute(ATTR_POSTER).string());
95 }
96 
97 void HTMLVideoElement::setPoster(const DOMString &value)
98 {
99  setAttribute(ATTR_POSTER, value);
100 }
101 
102 }
This file is part of the HTML rendering engine for KDE.
QString number(int n, int base)
This class implements the basic string we use in the DOM.
Definition: dom_string.h:44
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Oct 26 2021 22:48:03 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.