123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- "use strict";
- const {Arg, Option, RetVal, generateActorSpec} = require("devtools/shared/protocol");
- const shaderSpec = generateActorSpec({
- typeName: "gl-shader",
- methods: {
- getText: {
- response: { text: RetVal("string") }
- },
- compile: {
- request: { text: Arg(0, "string") },
- response: { error: RetVal("nullable:json") }
- },
- },
- });
- exports.shaderSpec = shaderSpec;
- const programSpec = generateActorSpec({
- typeName: "gl-program",
- methods: {
- getVertexShader: {
- response: { shader: RetVal("gl-shader") }
- },
- getFragmentShader: {
- response: { shader: RetVal("gl-shader") }
- },
- highlight: {
- request: { tint: Arg(0, "array:number") },
- oneway: true
- },
- unhighlight: {
- oneway: true
- },
- blackbox: {
- oneway: true
- },
- unblackbox: {
- oneway: true
- },
- }
- });
- exports.programSpec = programSpec;
- const webGLSpec = generateActorSpec({
- typeName: "webgl",
- /**
- * Events emitted by this actor. The "program-linked" event is fired every
- * time a WebGL program was linked with its respective two shaders.
- */
- events: {
- "program-linked": {
- type: "programLinked",
- program: Arg(0, "gl-program")
- },
- "global-destroyed": {
- type: "globalDestroyed",
- program: Arg(0, "number")
- },
- "global-created": {
- type: "globalCreated",
- program: Arg(0, "number")
- }
- },
- methods: {
- setup: {
- request: { reload: Option(0, "boolean") },
- oneway: true
- },
- finalize: {
- oneway: true
- },
- getPrograms: {
- response: { programs: RetVal("array:gl-program") }
- },
- waitForFrame: {
- response: { success: RetVal("nullable:json") }
- },
- getPixel: {
- request: {
- selector: Option(0, "string"),
- position: Option(0, "json")
- },
- response: { pixels: RetVal("json") }
- },
- _getAllPrograms: {
- response: { programs: RetVal("array:gl-program") }
- }
- }
- });
- exports.webGLSpec = webGLSpec;
|