Require CanvasRenderingContext2D as parent object to function












-3















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?










share|improve this question

























  • 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
















-3















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?










share|improve this question

























  • 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














-3












-3








-3








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?










share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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



















  • 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












1 Answer
1






active

oldest

votes


















0














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" ) );





share|improve this answer























    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
    });


    }
    });














    draft saved

    draft discarded


















    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









    0














    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" ) );





    share|improve this answer




























      0














      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" ) );





      share|improve this answer


























        0












        0








        0







        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" ) );





        share|improve this answer













        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" ) );






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 15 '18 at 0:19









        Lukas KnudsenLukas Knudsen

        2819




        2819
































            draft saved

            draft discarded




















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            Florida Star v. B. J. F.

            Error while running script in elastic search , gateway timeout

            Adding quotations to stringified JSON object values