# Source: src/ol/render/renderevent.js

    goog.provide('ol.render.Event');
    goog.provide('ol.render.EventType');

    goog.require('goog.events.Event');
    goog.require('ol.render.IVectorContext');

    /**
     * @enum {string}
     */
    ol.render.EventType = {
      /**
       * @event ol.render.Event#postcompose
       * @todo api
       */
      POSTCOMPOSE: 'postcompose',
      /**
       * @event ol.render.Event#precompose
       * @todo api
       */
      PRECOMPOSE: 'precompose',
      /**
       * @event ol.render.Event#render
       * @todo api
       */
      RENDER: 'render'
    };

    /**
     * @constructor
     * @extends {goog.events.Event}
     * @implements {oli.render.Event}
     * @param {ol.render.EventType} type Type.
     * @param {Object=} opt_target Target.
     * @param {ol.render.IVectorContext=} opt_vectorContext Vector context.
     * @param {olx.FrameState=} opt_frameState Frame state.
     * @param {?CanvasRenderingContext2D=} opt_context Context.
     * @param {?ol.webgl.Context=} opt_glContext WebGL Context.
     */
    ol.render.Event = function(
        type, opt_target, opt_vectorContext, opt_frameState, opt_context,
        opt_glContext) {

      goog.base(this, type, opt_target);

      /**
       * For canvas, this is an instance of {@link ol.render.canvas.Immediate}.
       * @type {ol.render.IVectorContext|undefined}
       * @todo api
       */
      this.vectorContext = opt_vectorContext;

      /**
       * @type {olx.FrameState|undefined}
       * @todo api
       */
      this.frameState = opt_frameState;

      /**
       * Canvas context. Only available when a Canvas renderer is used, null
       * otherwise.
       * @type {CanvasRenderingContext2D|null|undefined}
       * @todo api
       */
      this.context = opt_context;

      /**
       * WebGL context. Only available when a WebGL renderer is used, null
       * otherwise.
       * @type {ol.webgl.Context|null|undefined}
       * @todo api
       */
      this.glContext = opt_glContext;

    };
    goog.inherits(ol.render.Event, goog.events.Event);