Require CanvasRenderingContext2D as parent object to function
Is there a way of making a function require a CanvasRenderingContext2D object as parent object? I would like to use this to create additional CanvasRenderingContext2D functions, so like
CanvasRenderingContext2D.__proto__.strokeRoundedRect = ( x, y, width, height, cornerRadius ) => {
// Code here...
}
Edit:
If i run let context = document.getElementById( "canvas" ).getContext( "2d" ); context.strokeRoundedRect( 0, 0, 0, 0, 0 );
, I am prompted with this error Uncaught TypeError: context.strokeRoundedRect is not a function
Obviously the function doesn't exist, so is there any way of implementing this?
javascript function canvas html5-canvas parent
add a comment |
Is there a way of making a function require a CanvasRenderingContext2D object as parent object? I would like to use this to create additional CanvasRenderingContext2D functions, so like
CanvasRenderingContext2D.__proto__.strokeRoundedRect = ( x, y, width, height, cornerRadius ) => {
// Code here...
}
Edit:
If i run let context = document.getElementById( "canvas" ).getContext( "2d" ); context.strokeRoundedRect( 0, 0, 0, 0, 0 );
, I am prompted with this error Uncaught TypeError: context.strokeRoundedRect is not a function
Obviously the function doesn't exist, so is there any way of implementing this?
javascript function canvas html5-canvas parent
What's the problem with your current code?
– Jack Bashford
Nov 14 '18 at 22:33
I edited the post ^^^
– Lukas Knudsen
Nov 14 '18 at 22:53
add a comment |
Is there a way of making a function require a CanvasRenderingContext2D object as parent object? I would like to use this to create additional CanvasRenderingContext2D functions, so like
CanvasRenderingContext2D.__proto__.strokeRoundedRect = ( x, y, width, height, cornerRadius ) => {
// Code here...
}
Edit:
If i run let context = document.getElementById( "canvas" ).getContext( "2d" ); context.strokeRoundedRect( 0, 0, 0, 0, 0 );
, I am prompted with this error Uncaught TypeError: context.strokeRoundedRect is not a function
Obviously the function doesn't exist, so is there any way of implementing this?
javascript function canvas html5-canvas parent
Is there a way of making a function require a CanvasRenderingContext2D object as parent object? I would like to use this to create additional CanvasRenderingContext2D functions, so like
CanvasRenderingContext2D.__proto__.strokeRoundedRect = ( x, y, width, height, cornerRadius ) => {
// Code here...
}
Edit:
If i run let context = document.getElementById( "canvas" ).getContext( "2d" ); context.strokeRoundedRect( 0, 0, 0, 0, 0 );
, I am prompted with this error Uncaught TypeError: context.strokeRoundedRect is not a function
Obviously the function doesn't exist, so is there any way of implementing this?
javascript function canvas html5-canvas parent
javascript function canvas html5-canvas parent
edited Nov 14 '18 at 22:53
Lukas Knudsen
asked Nov 14 '18 at 22:32
Lukas KnudsenLukas Knudsen
2819
2819
What's the problem with your current code?
– Jack Bashford
Nov 14 '18 at 22:33
I edited the post ^^^
– Lukas Knudsen
Nov 14 '18 at 22:53
add a comment |
What's the problem with your current code?
– Jack Bashford
Nov 14 '18 at 22:33
I edited the post ^^^
– Lukas Knudsen
Nov 14 '18 at 22:53
What's the problem with your current code?
– Jack Bashford
Nov 14 '18 at 22:33
What's the problem with your current code?
– Jack Bashford
Nov 14 '18 at 22:33
I edited the post ^^^
– Lukas Knudsen
Nov 14 '18 at 22:53
I edited the post ^^^
– Lukas Knudsen
Nov 14 '18 at 22:53
add a comment |
1 Answer
1
active
oldest
votes
I would like to apologize for jumping to asking a question. I didn't research the problem thoroughly before posting this thread.
For anyone interested in a solution to this, read this comment.
I found out that iterating through an HTMLCollection of all canvases, required by using document.getElementsByTagName( "canvas" )
, it is possible to assign your desired functions to the CanvasRenderingContext2D of each individual canvas. I am still not sure if there is a better way of doing this, but here is a JSFiddle and below you will find the raw JavaScript.
let xcd = {};
xcd.initialize = ( context ) => {
context.strokeRoundedRect = ( x, y, width, height, cornerRadius ) => {
console.log( "strokeRoundedRect:: ", "X: " + x, "Y: " + y, "Width: " + width, "Height: " + height, "Corner radius: " + cornerRadius );
}
context.fillRoundedRect = ( x, y, width, height, cornerRadius ) => {
console.log( "fillRoundedRect:: ", "X: " + x, "Y: " + y, "Width: " + width, "Height: " + height, "Corner radius: " + cornerRadius );
}
}
// Get HTMLCollection of all canvases
let canvases = document.getElementsByTagName( "canvas" );
for( let i = 0; i < canvases.length; i++)
xcd.initialize( canvases[ i ].getContext( "2d" ) );
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53309735%2frequire-canvasrenderingcontext2d-as-parent-object-to-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I would like to apologize for jumping to asking a question. I didn't research the problem thoroughly before posting this thread.
For anyone interested in a solution to this, read this comment.
I found out that iterating through an HTMLCollection of all canvases, required by using document.getElementsByTagName( "canvas" )
, it is possible to assign your desired functions to the CanvasRenderingContext2D of each individual canvas. I am still not sure if there is a better way of doing this, but here is a JSFiddle and below you will find the raw JavaScript.
let xcd = {};
xcd.initialize = ( context ) => {
context.strokeRoundedRect = ( x, y, width, height, cornerRadius ) => {
console.log( "strokeRoundedRect:: ", "X: " + x, "Y: " + y, "Width: " + width, "Height: " + height, "Corner radius: " + cornerRadius );
}
context.fillRoundedRect = ( x, y, width, height, cornerRadius ) => {
console.log( "fillRoundedRect:: ", "X: " + x, "Y: " + y, "Width: " + width, "Height: " + height, "Corner radius: " + cornerRadius );
}
}
// Get HTMLCollection of all canvases
let canvases = document.getElementsByTagName( "canvas" );
for( let i = 0; i < canvases.length; i++)
xcd.initialize( canvases[ i ].getContext( "2d" ) );
add a comment |
I would like to apologize for jumping to asking a question. I didn't research the problem thoroughly before posting this thread.
For anyone interested in a solution to this, read this comment.
I found out that iterating through an HTMLCollection of all canvases, required by using document.getElementsByTagName( "canvas" )
, it is possible to assign your desired functions to the CanvasRenderingContext2D of each individual canvas. I am still not sure if there is a better way of doing this, but here is a JSFiddle and below you will find the raw JavaScript.
let xcd = {};
xcd.initialize = ( context ) => {
context.strokeRoundedRect = ( x, y, width, height, cornerRadius ) => {
console.log( "strokeRoundedRect:: ", "X: " + x, "Y: " + y, "Width: " + width, "Height: " + height, "Corner radius: " + cornerRadius );
}
context.fillRoundedRect = ( x, y, width, height, cornerRadius ) => {
console.log( "fillRoundedRect:: ", "X: " + x, "Y: " + y, "Width: " + width, "Height: " + height, "Corner radius: " + cornerRadius );
}
}
// Get HTMLCollection of all canvases
let canvases = document.getElementsByTagName( "canvas" );
for( let i = 0; i < canvases.length; i++)
xcd.initialize( canvases[ i ].getContext( "2d" ) );
add a comment |
I would like to apologize for jumping to asking a question. I didn't research the problem thoroughly before posting this thread.
For anyone interested in a solution to this, read this comment.
I found out that iterating through an HTMLCollection of all canvases, required by using document.getElementsByTagName( "canvas" )
, it is possible to assign your desired functions to the CanvasRenderingContext2D of each individual canvas. I am still not sure if there is a better way of doing this, but here is a JSFiddle and below you will find the raw JavaScript.
let xcd = {};
xcd.initialize = ( context ) => {
context.strokeRoundedRect = ( x, y, width, height, cornerRadius ) => {
console.log( "strokeRoundedRect:: ", "X: " + x, "Y: " + y, "Width: " + width, "Height: " + height, "Corner radius: " + cornerRadius );
}
context.fillRoundedRect = ( x, y, width, height, cornerRadius ) => {
console.log( "fillRoundedRect:: ", "X: " + x, "Y: " + y, "Width: " + width, "Height: " + height, "Corner radius: " + cornerRadius );
}
}
// Get HTMLCollection of all canvases
let canvases = document.getElementsByTagName( "canvas" );
for( let i = 0; i < canvases.length; i++)
xcd.initialize( canvases[ i ].getContext( "2d" ) );
I would like to apologize for jumping to asking a question. I didn't research the problem thoroughly before posting this thread.
For anyone interested in a solution to this, read this comment.
I found out that iterating through an HTMLCollection of all canvases, required by using document.getElementsByTagName( "canvas" )
, it is possible to assign your desired functions to the CanvasRenderingContext2D of each individual canvas. I am still not sure if there is a better way of doing this, but here is a JSFiddle and below you will find the raw JavaScript.
let xcd = {};
xcd.initialize = ( context ) => {
context.strokeRoundedRect = ( x, y, width, height, cornerRadius ) => {
console.log( "strokeRoundedRect:: ", "X: " + x, "Y: " + y, "Width: " + width, "Height: " + height, "Corner radius: " + cornerRadius );
}
context.fillRoundedRect = ( x, y, width, height, cornerRadius ) => {
console.log( "fillRoundedRect:: ", "X: " + x, "Y: " + y, "Width: " + width, "Height: " + height, "Corner radius: " + cornerRadius );
}
}
// Get HTMLCollection of all canvases
let canvases = document.getElementsByTagName( "canvas" );
for( let i = 0; i < canvases.length; i++)
xcd.initialize( canvases[ i ].getContext( "2d" ) );
answered Nov 15 '18 at 0:19
Lukas KnudsenLukas Knudsen
2819
2819
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53309735%2frequire-canvasrenderingcontext2d-as-parent-object-to-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What's the problem with your current code?
– Jack Bashford
Nov 14 '18 at 22:33
I edited the post ^^^
– Lukas Knudsen
Nov 14 '18 at 22:53