Use "= default" to denote default constructor or destructor
[WebKit-https.git] / Source / WebCore / html / canvas / WebGPUTextureDescriptor.cpp
1 /*
2  * Copyright (C) 2017 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 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 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 "config.h"
27 #include "WebGPUTextureDescriptor.h"
28
29 #if ENABLE(WEBGPU)
30
31 #include "GPUTextureDescriptor.h"
32 #include "WebGPURenderingContext.h"
33
34 namespace WebCore {
35
36 Ref<WebGPUTextureDescriptor> WebGPUTextureDescriptor::create(unsigned long pixelFormat, unsigned long width, unsigned long height, bool mipmapped)
37 {
38     return adoptRef(*new WebGPUTextureDescriptor(pixelFormat, width, height, mipmapped));
39 }
40
41 WebGPUTextureDescriptor::WebGPUTextureDescriptor(unsigned long pixelFormat, unsigned long width, unsigned long height, bool mipmapped)
42     : WebGPUObject()
43 {
44     m_textureDescriptor = GPUTextureDescriptor::create(pixelFormat, width, height, mipmapped);
45 }
46
47 WebGPUTextureDescriptor::~WebGPUTextureDescriptor() = default;
48
49 unsigned long WebGPUTextureDescriptor::width() const
50 {
51     if (!m_textureDescriptor)
52         return 0;
53
54     return m_textureDescriptor->width();
55 }
56
57 void WebGPUTextureDescriptor::setWidth(unsigned long width)
58 {
59     if (!m_textureDescriptor)
60         return;
61
62     m_textureDescriptor->setWidth(width);
63 }
64
65 unsigned long WebGPUTextureDescriptor::height() const
66 {
67     if (!m_textureDescriptor)
68         return 0;
69
70     return m_textureDescriptor->height();
71 }
72
73 void WebGPUTextureDescriptor::setHeight(unsigned long height)
74 {
75     if (!m_textureDescriptor)
76         return;
77     
78     m_textureDescriptor->setHeight(height);
79 }
80
81 unsigned long WebGPUTextureDescriptor::sampleCount() const
82 {
83     if (!m_textureDescriptor)
84         return 0;
85
86     return m_textureDescriptor->sampleCount();
87 }
88
89 void WebGPUTextureDescriptor::setSampleCount(unsigned long sampleCount)
90 {
91     if (!m_textureDescriptor)
92         return;
93     
94     m_textureDescriptor->setSampleCount(sampleCount);
95 }
96
97 unsigned long WebGPUTextureDescriptor::textureType() const
98 {
99     if (!m_textureDescriptor)
100         return 0;
101
102     return m_textureDescriptor->textureType();
103 }
104
105 void WebGPUTextureDescriptor::setTextureType(unsigned long textureType)
106 {
107     if (!m_textureDescriptor)
108         return;
109     
110     m_textureDescriptor->setTextureType(textureType);
111 }
112
113 unsigned long WebGPUTextureDescriptor::storageMode() const
114 {
115     if (!m_textureDescriptor)
116         return 0;
117
118     return m_textureDescriptor->storageMode();
119 }
120
121 void WebGPUTextureDescriptor::setStorageMode(unsigned long storageMode)
122 {
123     if (!m_textureDescriptor)
124         return;
125     
126     m_textureDescriptor->setStorageMode(storageMode);
127 }
128
129 unsigned long WebGPUTextureDescriptor::usage() const
130 {
131     if (!m_textureDescriptor)
132         return 0;
133
134     return m_textureDescriptor->usage();
135 }
136
137 void WebGPUTextureDescriptor::setUsage(unsigned long usage)
138 {
139     if (!m_textureDescriptor)
140         return;
141
142     m_textureDescriptor->setUsage(usage);
143 }
144     
145 } // namespace WebCore
146
147 #endif