// Copyright 2009 Google Inc. All Rights Reserved.
// Author: micapolos@google.com (Michal Pociecha-Los)
//
// Messages containing data about the annotations drawn on the screenshot of a 
// web page.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package userfeedback;

import "math.proto";
import "dom.proto";

// An annotation drawn by the user on the screenshot of a web page.
message Annotation {
  // A rectangular area covered by this annotation on annotated image.
  // The (0, 0) coordinate is placed in the top-left corner of the image.
  // One unit corresponds to one pixel.
  required Rectangle rectangle = 1;

  // A snippet of text displayed inside annotated portion of a web page.
  optional string snippet = 2;

  // A path from root element of the document to the annotated element.
  optional HtmlPath annotatedElementPath = 3;
};
