3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

fabricjs 高级篇(自定义类型)

發布時間:2024/8/26 综合教程 26 生活家
生活随笔 收集整理的這篇文章主要介紹了 fabricjs 高级篇(自定义类型) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:https://www.sitepoint.com/fabric-js-advanced/

<html>
<head>
     <script  src='./js/fabric.min.js'></script>
</head>
<body>
    <canvas id="c"></canvas>
<script>
var canvas = new fabric.Canvas('c',{backgroundColor : "#0ff", '600',height: '600'});
var LabeledRect = fabric.util.createClass(fabric.Rect, {
	    type: 'labeledRect',
	    initialize: function(options) {
		    options || (options = { });
		    this.callSuper('initialize', options);
		    this.set('label', options.label || '');
		    this.set('labelFont', options.labelFont || '');
		    this.set('labelFill', options.labelFill || '');
	    },
	    toObject: function() {
		    return fabric.util.object.extend(this.callSuper('toObject'), {
			    label: this.get('label'),
			    labelFont: this.get('labelFont'),
			    labelFill: this.get('labelFill')
		    });
	    },
	    _render: function(ctx) {
		    this.callSuper('_render', ctx);
		    // ctx.font = '20px Helvetica';
		    // ctx.fillStyle = '#333';
		    console.log('this', this);
		    ctx.font = this.labelFont;
		    ctx.fillStyle = this.labelFill;
		    // ctx.fillText(this.label, -this.width/2, -this.height/2 + 20);
		    ctx.fillText(this.label, 0, 0+10);
	    }
    });

    var labeledRect = new LabeledRect({
	     100,
	    height: 50,
	    left: 100,
	    top: 100,
	    label: 'test',
	    fill: '#faa',
        labelFont: '30px Helvetica',
        labelFill: '#00ff00'
    });
    canvas.add(labeledRect);
    setTimeout(function(){
	    labeledRect.set({
		    label: 'trololo',
		    fill: '#aaf',
		    rx: 10,
		    ry: 10,
            labelFill: '#0000ff'
	    });
	    canvas.renderAll();
    }, 3000)
</script>
</body>
</html>

  結果如下:

----------------------------------------

We’ve covered most of the basics of Fabric in thefirstandsecondparts of this series. In this article, I’ll move on to more advanced features: groups, serialization (and deserialization) and classes.

Groups

The first topic I’ll talk about is groups, one of Fabric’s most powerful features. Groups are exactly what they sound like—a simple way to group Fabric objects into a single entity so that you can work with those objects as a unit. (SeeFigure 1.)


Figure 1. A Selection Becomes a Group in Fabric

Remember that any number of Fabric objects on the canvas can be grouped with the mouse to form a single selection. Once grouped, the objects can be moved and even modified as one. You can scale the group, rotate it, and even change its presentational properties—its color, transparency, borders, and so on.

Every time you select objects like this on the canvas, Fabric creates a group implicitly, behind the scenes. Given this, it only makes sense to provide access to groups programmatically, which is wherefabric.Groupcomes in.

Let’s create a group from two objects, a circle and text:

       var text = new fabric.Text('hello world', {
	  fontSize: 30
	});
	var circle = new fabric.Circle({
	  radius: 100,
	  fill: '#eef',
	  scaleY: 0.5
	});
	var group = new fabric.Group([ text, circle ], {
	  left: 150,
	  top: 100,
	  angle: -10
	});
	canvas.add(group);

First, I created a “hello world” text object. Then, I created a circle with a 100 px radius, filled with the “#eef” color and squeezed vertically (scaleY=0.5). I next created afabric.Groupinstance, passing it an array with these two objects and giving it a position of 150/100 at a -10 degree angle. Finally, I added the group to the canvas, as I would with any other object, by usingcanvas.add().

Voila! You see an object on the canvas as shown inFigure 2, a labeled ellipse, and can now work with this object as a single entity. To modify that object, you simply change properties of the group, here giving it custom left, top and angle values.


Figure 2.A Group Created Programmatically

And now that we have a group on our canvas, let’s change it up a little:

       group.item(0).set({
	  text: 'trololo',
	  fill: 'white'
	});
	group.item(1).setFill('red');

Here, we access individual objects in a group via the item method and modify their properties. The first object is the text, and the second is the squeezed circle.Figure 3shows the results.


Figure 3. Squeezed Red Circle with New Text

One important idea you’ve probably noticed by now is that objects in a group are all positioned relative to the center of the group. When I changed the text property of the text object, it remained centered even when I changed its width. If you don’t want this behavior, you need to specify an object’s left/top coordinates, in which case they’ll be grouped according to those coordinates.

Here’s how to create and group three circles so that they’re positioned horizontally one after the other, such as those shown inFigure 4.

       var circle1 = new fabric.Circle({
	  radius: 50,
	  fill: 'red',
	  left: 0
	});
	var circle2 = new fabric.Circle({
	  radius: 50,
	  fill: 'green',
	  left: 100
	});
	var circle3 = new fabric.Circle({
	  radius: 50,
	  fill: 'blue',
	  left: 200
	});
	var group = new fabric.Group([ circle1, circle2, circle3 ], {
	  left: 200,
	  top: 100
	});
	canvas.add(group);


Figure 4. A Group with Three Circles Aligned Horizontally

Another point to keep in mind when working with groups is the state of the objects. For example, when forming a group with images, you need to be sure those images are fully loaded. Since Fabric already provides helper methods for ensuring that an image is loaded, this operation becomes fairly easy, as you can see in this code and in Figure 5.

       fabric.Image.fromURL('/assets/pug.jpg', function(img) {
	  var img1 = img.scale(0.1).set({ left: 100, top: 100 });
	  fabric.Image.fromURL('/assets/pug.jpg', function(img) {
	    var img2 = img.scale(0.1).set({ left: 175, top: 175 });
	    fabric.Image.fromURL('/assets/pug.jpg', function(img) {
	      var img3 = img.scale(0.1).set({ left: 250, top: 250 });
	      canvas.add(new fabric.Group([ img1, img2, img3],
	        { left: 200, top: 200 }))
	    });
	  });
	});


Figure 5. A Group with Three Images

Several other methods are available for working with groups:

getObjects works exactly like fabric.Canvas#getObjects() and returns an array of all objects in a group
size represents the number of objects in a group
contains allows you to check whether a particular object is in a group
item (which you saw earlier) allows you to retrieve a specific object from a group
forEachObject also mirrors fabric.Canvas#forEachObject, but in relation to group objects
add and remove add and remove objects from a group, respectively

You can add or remove objects with or without updating group dimensions and position. Here are several examples:

To add a rectangle at the center of a group (left=0, top=0), use this code:

       group.add(newfabric.Rect({
	...
	}));

To add a rectangle 100 px from the center of the group, do this:

       group.add(new fabric.Rect({
	  ...
	  left: 100,
	  top: 100
	}));

To add a rectangle at the center of a group and update the group’s dimensions, use the following code:

       group.addWithUpdate(newfabric.Rect({
	...
	left:group.getLeft(),
	top:group.getTop()
	}));

To add a rectangle at 100 px off from the center of a group and update the group’s dimensions, do this:

       group.addWithUpdate(newfabric.Rect({
	...
	left:group.getLeft()+100,
	top:group.getTop()+100
	}));

Finally, if you want to create a group with objects that are already present on the canvas, you need to clone them first:

       // create a group with copies of existing (2) objects
	var group = new fabric.Group([
	  canvas.item(0).clone(),
	  canvas.item(1).clone()
	]);
	// remove all objects and re-render
	canvas.clear().renderAll();
	// add group onto canvas
	canvas.add(group);

Serialization

As soon as you start building a stateful application of some sort—perhaps one that allows users to save results of canvas contents on a server or streaming contents to a different client—you need canvas serialization. There’s always an option to export the canvas to an image, but uploading a large image to a server requires a lot of bandwidth. Nothing beats text when it comes to size, and that’s exactly why Fabric provides an excellent support for canvas serialization and deserialization.

toObject, toJSON

The backbone of canvas serialization in Fabric are thefabric.Canvas#toObjectandfabric.Canvas#toJSONmethods. Let’s take a look at a simple example, first serializing an empty canvas:

       varcanvas=newfabric.Canvas('c');
	JSON.stringify(canvas);//'{"objects":[],"background":"rgba(0,0,0,0)"}'

Here I’m using the ES5JSON.stringifymethod, which implicitly calls the toJSON method on the passed object if that method exists. Because a canvas instance in Fabric has a toJSON method, it’s as though we calledJSON.stringify(canvas.toJSON())instead.

Notice the returned string that represents the empty canvas. It’s in JSON format, and essentially consists of “objects” and “background” properties. The “objects” property is currently empty because there’s nothing on the canvas, and “background” has a default transparent value (“rgba(0, 0, 0, 0)”).

Let’s give our canvas a different background and see how things change:

canvas.backgroundColor='red';
	JSON.stringify(canvas);//'{"objects":[],"background":"red"}'

As you would expect, the canvas representation reflects the new background color. Now let’s add some objects:

       canvas.add(new fabric.Rect({
	  left: 50,
	  top: 50,
	  height: 20,
	   20,
	  fill: 'green'
	}));
	console.log(JSON.stringify(canvas));

The logged output is as follows:

'{"objects":[{"type":"rect","left":50,"top":50,"width":20,"height":20,"fill":"green","overlayFill":null,
"stroke":null,"strokeWidth":1,"strokeDashArray":null,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,
"opacity":1,"selectable":true,"hasControls":true,"hasBorders":true,"hasRotatingPoint":false,"transparentCorners":true,
"perPixelTargetFind":false,"rx":0,"ry":0}],"background":"rgba(0, 0, 0, 0)"}'

Wow! At first sight, quite a lot has changed, but looking more closely, you can see that the newly added object is now part of the “objects” array, serialized into JSON. Notice how its representation includes all its visual traits—left, top, width, height, fill, stroke and so on.

If we were to add another object—say, a red circle positioned next to the rectangle—you would see that the representation changed accordingly:

canvas.add(new fabric.Circle({
	  left: 100,
	  top: 100,
	  radius: 50,
	  fill: 'red'
	}));
	console.log(JSON.stringify(canvas));

Here’s the logged output now:

'{"objects":[{"type":"rect","left":50,"top":50,"width":20,"height":20,"fill":"green","overlayFill":null,
"stroke":null,"strokeWidth":1,"strokeDashArray":null,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,
"opacity":1,"selectable":true,"hasControls":true,"hasBorders":true,"hasRotatingPoint":false,"transparentCorners":true,
"perPixelTargetFind":false,"rx":0,"ry":0},"type":"circle","left":100,"top":100,"width":100,"height":100,"fill":"red",
"overlayFill":null,"stroke":null,"strokeWidth":1,"strokeDashArray":null,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,
"flipY":false,"opacity":1,"selectable":true,"hasControls":true,"hasBorders":true,"hasRotatingPoint":false,
"transparentCorners":true,"perPixelTargetFind":false,"radius":50}],"background":"rgba(0, 0, 0, 0)"}'

Notice the “type”:”rect” and “type”:”circle” parts so that you can see better where those objects are. Even though it might seem like a lot of output at first, it is nothing compared to what you would get with image serialization. Just for fun, take a look at about one-tenth (!) of a string you would get withcanvas.toDataURL('png'):

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAK8CAYAAAAXo9vkAAAgAElEQVR4Xu3dP4xtBbnG4WPAQOQ2YBCLK1qpoQE1
/m+NVlCDwUACicRCEuysrOwkwcJgAglEItRQaWz9HxEaolSKtxCJ0FwMRIj32zqFcjm8e868s2fNWoJygl+e397rWetk5xf5pyZd13wPwIEC
BAgQIAAAQIECBxI4F0H+hwfQ4AAAQIECBAgQIAAgQsCxENAgAABAgQIECBAgMDBBATIwah9EAECBAgQIECAAAECAsQzQIAAAQIECBAgQIDAw
QQEyMGofRABAgQIECBAgAABAgLEM0CAAAECBAgQIECAwMEEBMjBqH0QAQIECBAgQIAAAQICxDNAgAABAgQIECBAgMDBBATIwah9EAECBAgQI
ECAAAECAsQzQIAAAQIECBAgQIDAwQQEyMGofRABAgQIECBAgAABAgLEM0CAAAECBAgQIECAwMEEBMjBqH0QAQIECBAgQIAAAQICxDNAgAABA
gQIECBAgMDBBATIwah9EAECBAgQIECAAAECAsQzQIAAAQIECBAgQIDAwQQEyMGofRABAgQIECBAgAABAgLEM0CAAAECBAgQIECAwMEEBMjBq
H0QAQIECBAgQIAAAQICxDNAgAABAgQIECBAgMDBBATIwah9EAECBAgQIECAAAECAsQzQIAAAQIECBAgQIDAwQQEyMGofRABAgQIECBAgAABA
gLEM0CAAAECBAgQIECAwMEEBMjBqH0QAQIECBAgQIAAAQICxDNAgAABAgQIECBAgMDBBATIwah9EAECBAgQIECAAAECAsQzQIAAAQIECBAgQ
IDAwQQEyMGofRABAgQIECBAgAABAgLEM0CAAAECBAgQIECAwMEEBMjBqH0QAQIECBAgQIAAAQICxDNAgAABAgQIECBAgMDBBATIwah9EAECB
AgQIECAAAECAsQzQIAAAQIECBAgQIDAwQQEyMGofRABAgQIECBAgAABAgLEM0CAAAECBAgQIECAwMEEBMjBqH0QAQIECBAgQIAAAQICxDNAg
AABAgQIECBAgMDBBATIwah9EAECBAgQIECAAAECyw+Qb134RU2fevC8q+5esGWESBAgAABAgQIEFiOwPLMC5AlvO0OBMCBAgQIECAAAECJxQ
QICcE9HYCBAgQIECAAAECBPYXECD7W3klAQIECBAgQIAAAQInFBAgJwT0dgIECBAgQIAAAQIE9hcQIPtbeSUBAgQIECBAgAABAicUECAnBPR
2AgQIECBAgAABAgT2FxAg+1t5JQECBAgQIECAAAECJxQQICcE9HYCBAgQIECAAAECBPYXECD7W3klAQIECBAgQIAAAQInFBAgJwTc9+3z49y
vmNd+dI7PzPHJOW6Y4wNzXD3HlXNc9pZdb85/vzbHK3P8aY7n5vj1HL+Y43dz417f97O9jgABAgQIECBAgMBSBATIKd2JCY5dWNwyx5fn+Pw
cV5U/6tXZ99M5fjjHk3Mjd6HifwQIECBAgAABAgQWLSBAirdnouP6WXfvHHfOcU1x9T6rXp4XPTLHA3NTX9jnDV5DgAABAgQIECBA4NACAuS
E4hMdl8+Kr83xzTmuO+G61ttfnEXfnuN7c4PfaC21hwABAgQIECBAgMBJBQTIJQpOeFw7b71/jtsvccWh3vbYfNB9c6NfOtQH+hwCBAgQIEC
AAAECFxMQIMd8No7C4+F5283HfOtZv/ypOYG7hMhZ3wafT4AAAQIECBDYtoAA2fP+H/1Vqwd3f4jf8y1Lfdkunu7xV7OWenucFwECBAgQIEB
g3QICZI/7O/Fxx7xs9wf3t36r3D3evciX7L7F7+6rIY8u8uycFAECBAgQIE

…and there’s approximately 17,000 characters more.

You might be wondering why there’s alsofabric.Canvas#toObject.Quite simply,toObjectreturns the same representation as toJSON, only in a form of the actual object, without string serialization. For example, using the earlier example of a canvas with just a green rectangle, the output forcanvas.toObjectis as follows:

       { "background" : "rgba(0, 0, 0, 0)",
	  "objects" : [
	    {
	      "angle" : 0,
	      "fill" : "green",
	      "flipX" : false,
	      "flipY" : false,
	      "hasBorders" : true,
	      "hasControls" : true,
	      "hasRotatingPoint" : false,
	      "height" : 20,
	      "left" : 50,
	      "opacity" : 1,
	      "overlayFill" : null,
	      "perPixelTargetFind" : false,
	      "scaleX" : 1,
	      "scaleY" : 1,
	      "selectable" : true,
	      "stroke" : null,
	      "strokeDashArray" : null,
	      "strokeWidth" : 1,
	      "top" : 50,
	      "transparentCorners" : true,
	      "type" : "rect",
	      "width" : 20
	    }
	  ]
	}

As you can see, toJSON output is essentially stringifiedtoObjectoutput. Now, the interesting (and useful) thing is thattoObjectoutput is smart and lazy. What you see inside an “objects” array is the result of iterating over all canvas objects and delegating to each object’s owntoObjectmethod. For example,fabric.Pathhas its owntoObjectthat knows to return path’s “points” array, andfabric.Imagehas atoObjectthat knows to return image’s “src” property. In true object-oriented fashion, all objects are capable of serializing themselves.

This means that when you create your own class, or simply need to customize an object’s serialized representation, all you need to do is work with thetoObjectmethod, either completely replacing it or extending it. Here’s an example:

var rect = new fabric.Rect();
	rect.toObject = function() {
	  return { name: 'trololo' };
	};
	canvas.add(rect);
	console.log(JSON.stringify(canvas));

The logged output is:

'{"objects":[{"name":"trololo"}],"background":"rgba(0, 0, 0, 0)"}'

As you can see, the objects array now has a custom representation of our rectangle. This kind of override brings the point across but is probably not very useful. Instead, here’s how to extend a rectangle’stoObjectmethod with an additional property:

var rect = new fabric.Rect();
	rect.toObject = (function(toObject) {
	  return function() {
	    return fabric.util.object.extend(toObject.call(this), {
	      name: this.name
	    });
	  };
	})(rect.toObject);
	canvas.add(rect);
	rect.name = 'trololo';
	console.log(JSON.stringify(canvas));

And here’s the logged output:

'{"objects":[{"type":"rect","left":0,"top":0,"width":0,"height":0,"fill":"rgb(0,0,0)","overlayFill":null,
"stroke":null,"strokeWidth":1,"strokeDashArray":null,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,
"flipY":false,"opacity":1,"selectable":true,"hasControls":true,"hasBorders":true,"hasRotatingPoint":false,
"transparentCorners":true,"perPixelTargetFind":false,"rx":0,"ry":0,"name":"trololo"}],
"background":"rgba(0, 0, 0, 0)"}'

I extended the object’s existingtoObjectmethod with the additional property “name”, which means that property is now part of thetoObjectoutput, and as a result it appears in the canvas JSON representation. One other item worth mentioning is that if you extend objects like this, you’ll also want to be sure the object’s “class” (fabric.Rectin this case) has this property in the “stateProperties” array so that loading a canvas from a string representation will parse and add it to an object correctly.

toSVG

Another efficient text-based canvas representation is in SVG format. Since Fabric specializes in SVG parsing and rendering on canvas, it makes sense to make this a two-way process and provide canvas-to-SVG conversion. Let’s add the same rectangle to our canvas and see what kind of representation is returned from thetoSVGmethod:

       canvas.add(new fabric.Rect({
	  left: 50,
	  top: 50,
	  height: 20,
	   20,
	  fill: 'green'
	}));
	console.log(canvas.toSVG());

The logged output is as follows:

'<?xml version="1.0" standalone="no" ?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" 
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"><svg xmlns="http://www.w3.org/2000/svg" 
xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="800" height="700" 
xml:space="preserve"><desc>Created with Fabric.js 0.9.21</desc><rect x="-10" y="-10" 
rx="0" ry="0" width="20" height="20" transform="translate(50 50)" /></svg>'

Just like withtoJSONandtoObject, thetoSVGmethod—when called on canvas—delegates its logic to each individual object, and each individual object has its owntoSVGmethod that is special to the type of object. If you ever need to modify or extend an SVG representation of an object, you can do the same thing withtoSVGas I did earlier withtoObject.

The benefit of SVG representation, compared to Fabric’s proprietarytoObject/toJSON, is that you can throw it into any SVG-capable renderer (browser, application, printer, camera, and so on), and it should just work. WithtoObject/toJSON, however, you first need to load it onto a canvas.

And speaking of loading things onto a canvas, now that you know how to serialize a canvas into an efficient chunk of text, how do you go about loading this data back onto canvas?

Deserialization and the SVG Parser

As with serialization, there’s two ways to load a canvas from a string: from JSON representation or from SVG. When using JSON representation, there are thefabric.Canvas#loadFromJSONandfabric.Canvas#loadFromDatalessJSONmethods. When using SVG, there arefabric.loadSVGFromURLandfabric.loadSVGFromString.

Notice that the first two methods are instance methods and are called on a canvas instance directly, whereas the other two methods are static methods and are called on the “fabric” object rather than on canvas.

There’s not much to say about most of these methods. They work exactly as you would expect them to. Let’s take as an example the previous JSON output from our canvas and load it on a clean canvas:

       varcanvas=newfabric.Canvas();
	canvas.loadFromJSON('{"objects":[{"type":"rect","left":50,"top":50,"width":20,"height":20, 
fill":"green","overlayFill":null,"stroke":null,"strokeWidth":1,"strokeDashArray":null,"scaleX":1,
"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"selectable":true,"hasControls":true,
"hasBorders":true,"hasRotatingPoint":false,"transparentCorners":true,"perPixelTargetFind":false,
"rx":0,"ry":0},"type":"circle","left":100,"top":100,"width":100,"height":100,"fill":"red",
"overlayFill":null,"stroke":null,"strokeWidth":1,"strokeDashArray":null,"scaleX":1,"scaleY":1,
"angle":0,"flipX":false,"flipY":false,"opacity":1,"selectable":true,"hasControls":true,
"hasBorders":true,"hasRotatingPoint":false,"transparentCorners":true,"perPixelTargetFind":false,
"radius":50}],"background":"rgba(0,0,0,0)"}');

Both objects magically appear on canvas, as shown inFigure 6.


Figure 6. A Circle and a Square Rendered on Canvas

So loading canvas from a string is pretty easy, but what about that strange-lookingloadFromDatalessJSONmethod? How is it different fromloadFromJSON, which we just used? To understand why you need this method, look at a serialized canvas that has a more or less complex path object, like the one shown inFigure 7.


Figure 7. A Complex Shape Rendered on Canvas

JSON.stringify(canvas) output for the shape inFigure 7is as follows:

{"objects":[{"type":"path","left":184,"top":177,"width":175,"height":151,"fill":"#231F20","overlayFill":null,
"stroke":null,"strokeWidth":1,"strokeDashArray":null,"scaleX":1,"scaleY":1,"angle":-19,"flipX":false,
"flipY":false,"opacity":1,"selectable":true,"hasControls":true,"hasBorders":true,"hasRotatingPoint":false,
"transparentCorners":true,"perPixelTargetFind":false,"path":[["M",39.502,61.823],["c",-1.235,-0.902,-3.038,
-3.605,-3.038,-3.605],["s",0.702,0.4,3.907,1.203],["c",3.205,0.8,7.444,-0.668,10.114,-1.97],["c",2.671,-1.302,
7.11,-1.436,9.448,-1.336],["c",2.336,0.101,4.707,0.602,4.373,2.036],["c",-0.334,1.437,-5.742,3.94,-5.742,3.94],
["s",0.4,0.334,1.236,0.334],["c",0.833,0,6.075,-1.403,6.542,-4.173],["s",-1.802,-8.377,-3.272,-9.013],["c",-1.468,
-0.633,-4.172,0,-4.172,0],["c",4.039,1.438,4.941,6.176,4.941,6.176],["c",-2.604,-1.504,-9.279,-1.234,-12.619,
0.501],["c",-3.337,1.736,-8.379,2.67,-10.083,2.503],["c",-1.701,-0.167,-3.571,-1.036,-3.571,-1.036],["c",1.837,
0.034,3.239,-2.669,3.239,-2.669],["s",-2.068,2.269,-5.542,0.434],["c",-3.47,-1.837,-1.704,-8.18,-1.704,-8.18],
["s",-2.937,5.909,-1,9.816],["C",34.496,60.688,39.502,61.823,39.502,61.823],["z"],["M",77.002,40.772],["c",0,0,
-1.78,-5.03,-2.804,-8.546],["l",-1.557,8.411],["l",1.646,1.602],["c",0,0,0,-0.622,-0.668,-1.691],["C",72.952,
39.48,76.513,40.371,77.002,40.772],["z"],["M",102.989,86.943],["M",102.396,86.424],["c",0.25,0.22,0.447,0.391,
0.594,0.519],["C",102.796,86.774,102.571,86.578,102.396,86.424],["z"],["M",169.407,119.374],["c",-0.09,-5.429,
-3.917,-3.914,-3.917,-2.402],["c",0,0,-11.396,1.603,-13.086,-6.677],["c",0,0,3.56,-5.43,1.69,-12.461],["c",
-0.575,-2.163,-1.691,-5.337,-3.637,-8.605],["c",11.104,2.121,21.701,-5.08,19.038,-15.519],["c",-3.34,-13.087,
-19.63,-9.481,-24.437,-9.349],["c",-4.809,0.135,-13.486,-2.002,-8.011,-11.618],["c",5.473,-9.613,18.024,-5.874,
18.024,-5.874],["c",-2.136,0.668,-4.674,4.807,-4.674,4.807],["c",9.748,-6.811,22.301,4.541,22.301,4.541],["c",
-3.097,-13.678,-23.153,-14.636,-30.041,-12.635],["c",-4.286,-0.377,-5.241,-3.391,-3.073,-6.637],["c",2.314,
-3.473,10.503,-13.976,10.503,-13.976],["s",-2.048,2.046,-6.231,4.005],["c",-4.184,1.96,-6.321,-2.227,-4.362,
-6.854],["c",1.96,-4.627,8.191,-16.559,8.191,-16.559],["c",-1.96,3.207,-24.571,31.247,-21.723,26.707],["c",
2.85,-4.541,5.253,-11.93,5.253,-11.93],["c",-2.849,6.943,-22.434,25.283,-30.713,34.274],["s",-5.786,19.583,
-4.005,21.987],["c",0.43,0.58,0.601,0.972,0.62,1.232],["c",-4.868,-3.052,-3.884,-13.936,-0.264,-19.66],["c",
3.829,-6.053,18.427,-20.207,18.427,-20.207],["v",-1.336],["c",0,0,0.444,-1.513,-0.089,-0.444],["c",-0.535,
1.068,-3.65,1.245,-3.384,-0.889],["c",0.268,-2.137,-0.356,-8.549,-0.356,-8.549],["s",-1.157,5.789,-2.758,
5.61],["c",-1.603,-0.179,-2.493,-2.672,-2.405,-5.432],["c",0.089,-2.758,-1.157,-9.702,-1.157,-9.702],["c",
-0.8,11.75,-8.277,8.011,-8.277,3.74],["c",0,-4.274,-4.541,-12.82,-4.541,-12.82],["s",2.403,14.421,-1.336,
14.421],["c",-3.737,0,-6.944,-5.074,-9.879,-9.882],["C",78.161,5.874,68.279,0,68.279,0],["c",13.428,16.088,
17.656,32.111,18.397,44.512],["c",-1.793,0.422,-2.908,2.224,-2.908,2.224],["c",0.356,-2.847,-0.624,-7.745,
-1.245,-9.882],["c",-0.624,-2.137,-1.159,-9.168,-1.159,-9.168],["c",0,2.67,-0.979,5.253,-2.048,9.079],["c",
-1.068,3.828,-0.801,6.054,-0.801,6.054],["c",-1.068,-2.227,-4.271,-2.137,-4.271,-2.137],["c",1.336,1.783,
0.177,2.493,0.177,2.493],["s",0,0,-1.424,-1.601],["c",-1.424,-1.603,-3.473,-0.981,-3.384,0.265],["c",0.089,
1.247,0,1.959,-2.849,1.959],["c",-2.846,0,-5.874,-3.47,-9.078,-3.116],["c",-3.206,0.356,-5.521,2.137,-5.698,
6.678],["c",-0.179,4.541,1.869,5.251,1.869,5.251],["c",-0.801,-0.443,-0.891,-1.067,-0.891,-3.473],...

…and that’s only 20 percent of the entire output!

What’s going on here? Well, it turns out that thisfabric.Pathinstance—this shape—consists of literally hundreds of Bezier lines dictating how exactly it is to be rendered. All those [“c”,0,2.67,-0.979,5.253,-2.048,9.079] chunks in JSON representation correspond to each one of those curves. And when there’s hundreds (or even thousands) of them, the canvas representation ends up being quite enormous.

Situations like these are wherefabric.Canvas#toDatalessJSONcomes in handy. Let’s try it:

       canvas.item(0).sourcePath='/assets/dragon.svg';
	console.log(JSON.stringify(canvas.toDatalessJSON()));

Here’s the logged output:

{"objects":[{"type":"path","left":143,"top":143,"width":175,"height":151,"fill":"#231F20","overlayFill":null,
"stroke":null,"strokeWidth":1,"strokeDashArray":null,"scaleX":1,"scaleY":1,"angle":-19,"flipX":false,
"flipY":false,"opacity":1,"selectable":true,"hasControls":true,"hasBorders":true,"hasRotatingPoint":false,
"transparentCorners":true,"perPixelTargetFind":false,"path":"/assets/dragon.svg"}],"background":"rgba(0, 0, 0, 0)"}

That’s certainly smaller, so what happened? Notice that before callingtoDatalessJSON, I gave the path (dragon shape) object asourcePath property of “/assets/dragon.svg”. Then, when I calledtoDatalessJSON, the entire humongous path string from the previous output (those hundreds of path commands) is replaced with a single “dragon.svg” string.

When you’re working with lots of complex shapes,toDatalessJSONallows you to reduce canvas representation even further and replace huge path data representations with a simple link to SVG.

You can probably guess that theloadFromDatalessJSONmethod simply allows you to load a canvas from a data less version of a canvas representation. TheloadFromDatalessJSONmethod pretty much knows how to take those “path” strings (like “/assets/dragon.svg”), load them, and use them as the data for corresponding path objects.

Now, let’s take a look at SVG-loading methods. We can use either string or URL. Let’s look at the string example first:

       fabric.loadSVGFromString('...',function(objects,options){
	varobj=fabric.util.groupSVGElements(objects,options);
	canvas.add(obj).renderAll();
	});

The first argument is the SVG string, and the second is the callback function. The callback is invoked when SVG is parsed and loaded and receives two arguments—objects and options. The first, objects, contains an array of objects parsed from SVG—paths, path groups (for complex objects), images, text, and so on. To group those objects into a cohesive collection—and to make them look the way they do in an SVG document—we’re usingfabric.util.groupSVGElements and passing it both objects and options. In return, we get either an instance offabric.Pathorfabric.PathGroup, which we can then add onto our canvas.

Thefabric.loadSVGFromURLmethod works the same way, except that you pass a string containing a URL rather than SVG contents. Note that Fabric will attempt to fetch that URL via XMLHttpRequest, so the SVG needs to conform to the usual SOP rules.

Subclassing

Since Fabric is built in a truly object-oriented fashion, it’s designed to make subclassing and extension simple and natural. As described in the first article in this series, there’s an existing hierarchy of objects in Fabric. All two-dimensional objects (paths, images, text, and so on) inherit fromfabric.Object, and some “classes”—likefabric.PathGroup— even form a third-level inheritance.

So how do you go about subclassing one of the existing “classes” in Fabric, or maybe even creating a class of your own?

For this task you need thefabric.util.createClassutility method. This method is nothing but a simple abstraction over JavaScript’s prototypal inheritance. Let’s first create a simple Point “class”:

       var Point = fabric.util.createClass({
	  initialize: function(x, y) {
	    this.x = x || 0;
	    this.y = y || 0;
	  },
	  toString: function() {
	    return this.x + '/' + this.y;
	  }
	});

ThecreateClassmethod takes an object and uses that object’s properties to create a class with instance-level properties. The only specially treated property is initialize, which is used as a constructor. Now, when initializing Point, we’ll create an instance with x and y properties and thetoStringmethod:

       varpoint=newPoint(10,20);
	point.x;//10
	point.y;//20
	point.toString();//"10/20"

If we wanted to create a child of “Point” class—say a colored point—we would usecreateClasslike so:

       var ColoredPoint = fabric.util.createClass(Point, {
	  initialize: function(x, y, color) {
	    this.callSuper('initialize', x, y);
	    this.color = color || '#000';
	  },
	  toString: function() {
	    return this.callSuper('toString') + ' (color: ' + this.color + ')';
	  }
	});

Notice how the object with instance-level properties is now passed as a second argument. And the first argument receives Point “class”, which tellscreateClassto use it as a parent class of this one. To avoid duplication, we’re using thecallSupermethod, which calls the method of a parent class. This means that if we were to changePoint, the changes would also propagate to theColoredPointclass.

Here’s ColoredPoint in action:

var redPoint = new ColoredPoint(15, 33, '#f55');
	redPoint.x; // 15
	redPoint.y; // 33
	redPoint.color; // "#f55"
	redPoint.toString(); "15/35 (color: #f55)"

Now let’s see how to work with existing Fabric classes. For example, let’s create aLabeledRectclass that will essentially be a rectangle that has some kind of label associated with it. When rendered on our canvas, that label will be represented as a text inside a rectangle (similar to the earlier group example with a circle and text). As you’re working with Fabric, you’ll notice that combined abstractions like this can be achieved either by using groups or by using custom classes.

       var LabeledRect = fabric.util.createClass(fabric.Rect, {
	  type: 'labeledRect',
	  initialize: function(options) {
	    options || (options = { });
	    this.callSuper('initialize', options);
	    this.set('label', options.label || '');
	  },
	  toObject: function() {
	    return fabric.util.object.extend(this.callSuper('toObject'), {
	      label: this.get('label')
	    });
	  },
	  _render: function(ctx) {
	    this.callSuper('_render', ctx);
	    ctx.font = '20px Helvetica';
	    ctx.fillStyle = '#333';
	    ctx.fillText(this.label, -this.width/2, -this.height/2 + 20);
	  }
	});

It looks like there’s quite a lot going on here, but it’s actually pretty simple. First, we’re specifying the parent class asfabric.Rect, to utilize its rendering abilities. Next, we define the type property, setting it to “labeledRect“. This is just for consistency, because all Fabric objects have the type property (rect, circle, path, text, and so on.) Then there’s the already-familiar constructor (initialize), in which we utilizecallSuperonce again. Additionally, we set the object’s label to whichever value was passed via options. Finally, we’re left with two methods—toObjectand_render. ThetoObject method, as you already know from the serialization section, is responsible for object (and JSON) representation of an instance. SinceLabeledRecthas the same properties as regularrectbut also a label, we’re extending the parent’stoObjectmethod and simply adding a label into it. Last but not least, the_rendermethod is what’s responsible for the actually drawing of an instance. There’s anothercallSupercall in it, which is what renders rectangle, and an additional three lines of text-rendering logic.

If you were to render such object, you do something like the following.Figure 8shows the results.

       var labeledRect = new LabeledRect({
	   100,
	  height: 50,
	  left: 100,
	  top: 100,
	  label: 'test',
	  fill: '#faa'
	});
	canvas.add(labeledRect);


Figure 8. Rendering of labeledRect

Changing the label value or any of the other usual rectangle properties would obviously work as expected, as you can see here and inFigure 9.

labeledRect.set({
	  label: 'trololo',
	  fill: '#aaf',
	  rx: 10,
	  ry: 10
	}


Figure 9. Modified labeledRect

Of course, at this point you’re free to modify the behavior of this class anyway you want. For example, you could make certain values the default values to avoid passing them every time to the constructor, or you could make certain configurable properties available on the instance. If you do make additional properties configurable, you might want to account for them intoObjectandinitialize, as I’ve shown here:

       ...
	initialize: function(options) {
	  options || (options = { });
	  this.callSuper('initialize', options);
	  // give all labeled rectangles fixed width/height of 100/50
	  this.set({  100, height: 50 });
	  this.set('label', options.label || '');
	}
	...
	_render: function(ctx) {
	  // make font and fill values of labels configurable
	  ctx.font = this.labelFont;
	  ctx.fillStyle = this.labelFill;
	  ctx.fillText(this.label, -this.width/2, -this.height/2 + 20);
	}
	...

Wrapping Up

That closes the third installment of this series, in which I’ve dived into some of the more advanced aspects of Fabric. With help from groups, serialization and deserialization and classes, you can take your app to a whole new level.

總結

以上是生活随笔為你收集整理的fabricjs 高级篇(自定义类型)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

成人精品一区二区三区中文字幕 | v一区无码内射国产 | 国产激情艳情在线看视频 | 欧美精品国产综合久久 | 中文毛片无遮挡高清免费 | 成年美女黄网站色大免费全看 | 国产偷自视频区视频 | 中文字幕+乱码+中文字幕一区 | 日韩人妻系列无码专区 | 丰满岳乱妇在线观看中字无码 | 免费视频欧美无人区码 | av无码久久久久不卡免费网站 | 免费人成在线观看网站 | 亚洲aⅴ无码成人网站国产app | 欧美老人巨大xxxx做受 | 亚洲成av人片在线观看无码不卡 | 国产亚洲日韩欧美另类第八页 | 国产高清av在线播放 | 爆乳一区二区三区无码 | 国产97在线 | 亚洲 | 熟女体下毛毛黑森林 | 亚洲国产成人av在线观看 | 日本www一道久久久免费榴莲 | 少妇高潮一区二区三区99 | 久久久久久久久888 | 性生交大片免费看女人按摩摩 | 亚洲精品中文字幕久久久久 | 人妻插b视频一区二区三区 | 欧美丰满少妇xxxx性 | 国产精品高潮呻吟av久久4虎 | 中文字幕无线码 | 精品成人av一区二区三区 | 久久精品人人做人人综合 | 无码人妻出轨黑人中文字幕 | 国产黄在线观看免费观看不卡 | 午夜福利一区二区三区在线观看 | 亚洲天堂2017无码 | 美女张开腿让人桶 | 天堂а√在线地址中文在线 | 亚洲欧美综合区丁香五月小说 | 男人的天堂av网站 | 亚洲a无码综合a国产av中文 | 免费人成在线观看网站 | 麻豆蜜桃av蜜臀av色欲av | 免费无码一区二区三区蜜桃大 | 国产精品人人妻人人爽 | 国产亚洲人成在线播放 | 国内精品九九久久久精品 | 欧美三级不卡在线观看 | 国产精品久久久久无码av色戒 | 丰满妇女强制高潮18xxxx | 久久亚洲国产成人精品性色 | 日韩欧美中文字幕在线三区 | 熟女少妇在线视频播放 | 中文字幕无码热在线视频 | 亚洲国产高清在线观看视频 | 亚洲熟女一区二区三区 | 精品久久久久久亚洲精品 | 18无码粉嫩小泬无套在线观看 | 色五月五月丁香亚洲综合网 | 又大又紧又粉嫩18p少妇 | 18禁止看的免费污网站 | 国产亲子乱弄免费视频 | 亚洲伊人久久精品影院 | 夜夜影院未满十八勿进 | 97久久国产亚洲精品超碰热 | 欧美日韩亚洲国产精品 | 爆乳一区二区三区无码 | 熟妇人妻激情偷爽文 | 日本精品人妻无码免费大全 | 爆乳一区二区三区无码 | 55夜色66夜色国产精品视频 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲色欲色欲天天天www | 欧美亚洲日韩国产人成在线播放 | 精品国产av色一区二区深夜久久 | 少妇无码吹潮 | 亚洲另类伦春色综合小说 | 精品午夜福利在线观看 | 九九在线中文字幕无码 | 国产成人精品视频ⅴa片软件竹菊 | 中文字幕无码av波多野吉衣 | 精品乱子伦一区二区三区 | 亚洲精品国产a久久久久久 | 免费男性肉肉影院 | 国产精品第一国产精品 | 中文字幕无码视频专区 | 亚洲色偷偷偷综合网 | 99精品无人区乱码1区2区3区 | 日本免费一区二区三区最新 | 日韩人妻无码一区二区三区久久99 | 久久婷婷五月综合色国产香蕉 | 欧美精品一区二区精品久久 | 国产肉丝袜在线观看 | 亚洲日本一区二区三区在线 | 国产综合久久久久鬼色 | 性做久久久久久久免费看 | 国产偷自视频区视频 | 女人被男人爽到呻吟的视频 | 丰满妇女强制高潮18xxxx | 未满小14洗澡无码视频网站 | 在线а√天堂中文官网 | 欧洲美熟女乱又伦 | √8天堂资源地址中文在线 | 2020最新国产自产精品 | 中文字幕人妻无码一夲道 | 老太婆性杂交欧美肥老太 | 国产成人午夜福利在线播放 | 精品无码一区二区三区爱欲 | 乱码av麻豆丝袜熟女系列 | 婷婷综合久久中文字幕蜜桃三电影 | 女高中生第一次破苞av | 欧美高清在线精品一区 | √8天堂资源地址中文在线 | 日本免费一区二区三区最新 | 日韩欧美中文字幕在线三区 | 国产农村乱对白刺激视频 | 国产精品久久久久9999小说 | 亚洲综合色区中文字幕 | 成人欧美一区二区三区 | 日本高清一区免费中文视频 | 亚洲码国产精品高潮在线 | 亚洲精品一区二区三区婷婷月 | 欧洲vodafone精品性 | 精品亚洲成av人在线观看 | 四虎永久在线精品免费网址 | 色偷偷人人澡人人爽人人模 | 丰满少妇高潮惨叫视频 | 精品熟女少妇av免费观看 | 少妇性l交大片欧洲热妇乱xxx | 5858s亚洲色大成网站www | 宝宝好涨水快流出来免费视频 | 久久国产36精品色熟妇 | 久青草影院在线观看国产 | 少妇无码av无码专区在线观看 | 无码人妻av免费一区二区三区 | 又大又硬又爽免费视频 | 精品少妇爆乳无码av无码专区 | 久久久久亚洲精品中文字幕 | 性色av无码免费一区二区三区 | 丝袜美腿亚洲一区二区 | 国产精品办公室沙发 | 国产午夜无码精品免费看 | 久久精品女人天堂av免费观看 | 亚洲国产精品久久久久久 | 国产69精品久久久久app下载 | 国产黄在线观看免费观看不卡 | 色婷婷av一区二区三区之红樱桃 | 搡女人真爽免费视频大全 | 高清不卡一区二区三区 | 国产三级精品三级男人的天堂 | 日韩欧美中文字幕在线三区 | 久久久久久av无码免费看大片 | 图片区 小说区 区 亚洲五月 | 精品无码成人片一区二区98 | 久久综合激激的五月天 | 欧美野外疯狂做受xxxx高潮 | 黑人玩弄人妻中文在线 | 搡女人真爽免费视频大全 | 久久无码人妻影院 | 啦啦啦www在线观看免费视频 | 黑人粗大猛烈进出高潮视频 | 亚洲熟女一区二区三区 | 自拍偷自拍亚洲精品被多人伦好爽 | 特级做a爰片毛片免费69 | 国产极品美女高潮无套在线观看 | 亚洲色www成人永久网址 | 三级4级全黄60分钟 | 宝宝好涨水快流出来免费视频 | 国产精品视频免费播放 | 久久国产精品精品国产色婷婷 | 亚洲 欧美 激情 小说 另类 | 无码av免费一区二区三区试看 | 欧美日韩视频无码一区二区三 | 日产精品高潮呻吟av久久 | 东京一本一道一二三区 | 国产人妻精品一区二区三区不卡 | 色综合天天综合狠狠爱 | 又色又爽又黄的美女裸体网站 | 日韩人妻无码一区二区三区久久99 | 成人影院yy111111在线观看 | 波多野结衣av在线观看 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚洲欧美精品伊人久久 | 久久精品国产亚洲精品 | 亚洲欧美综合区丁香五月小说 | 久久久成人毛片无码 | 亚洲精品久久久久avwww潮水 | 永久黄网站色视频免费直播 | 久久久无码中文字幕久... | 黄网在线观看免费网站 | 天天躁日日躁狠狠躁免费麻豆 | 久久天天躁狠狠躁夜夜免费观看 | 国产舌乚八伦偷品w中 | а√资源新版在线天堂 | 国产一区二区三区四区五区加勒比 | 99麻豆久久久国产精品免费 | 亚洲国产精品久久人人爱 | 激情亚洲一区国产精品 | 无套内射视频囯产 | 好爽又高潮了毛片免费下载 | 国产无套粉嫩白浆在线 | 亚洲精品成a人在线观看 | 精品成人av一区二区三区 | 大肉大捧一进一出视频出来呀 | 成人无码视频免费播放 | 中文字幕色婷婷在线视频 | 色诱久久久久综合网ywww | 日本大香伊一区二区三区 | 午夜男女很黄的视频 | 无码人妻出轨黑人中文字幕 | 日产精品99久久久久久 | √天堂资源地址中文在线 | 色诱久久久久综合网ywww | 日本护士xxxxhd少妇 | 精品人妻中文字幕有码在线 | 国产偷国产偷精品高清尤物 | 大肉大捧一进一出视频出来呀 | 国产人妻久久精品二区三区老狼 | 装睡被陌生人摸出水好爽 | 好男人www社区 | 国产偷抇久久精品a片69 | 特黄特色大片免费播放器图片 | 国产精品.xx视频.xxtv | 亚洲欧洲日本无在线码 | 乱码av麻豆丝袜熟女系列 | 亚洲综合另类小说色区 | 97人妻精品一区二区三区 | 任你躁国产自任一区二区三区 | 午夜男女很黄的视频 | 综合网日日天干夜夜久久 | 欧美激情综合亚洲一二区 | 久久久久亚洲精品中文字幕 | 亚洲精品中文字幕乱码 | 亚洲小说图区综合在线 | 国产在线aaa片一区二区99 | 日韩精品无码一本二本三本色 | 精品亚洲韩国一区二区三区 | 色综合久久久久综合一本到桃花网 | 亚洲国产av美女网站 | 久久久婷婷五月亚洲97号色 | 亚洲中文字幕无码中文字在线 | 男女性色大片免费网站 | 在线播放免费人成毛片乱码 | 欧洲熟妇精品视频 | 亚洲 另类 在线 欧美 制服 | 亚洲综合无码一区二区三区 | 中文字幕日韩精品一区二区三区 | 国产偷国产偷精品高清尤物 | 人人妻人人澡人人爽人人精品 | 熟妇人妻中文av无码 | 日本免费一区二区三区最新 | 草草网站影院白丝内射 | 亚洲综合在线一区二区三区 | 丰满人妻一区二区三区免费视频 | 国产精品.xx视频.xxtv | 国模大胆一区二区三区 | 爆乳一区二区三区无码 | 久久精品成人欧美大片 | 欧美性生交活xxxxxdddd | 国产手机在线αⅴ片无码观看 | 亚洲狠狠婷婷综合久久 | 亚洲区小说区激情区图片区 | www一区二区www免费 | 日本在线高清不卡免费播放 | 无码纯肉视频在线观看 | 欧美肥老太牲交大战 | 熟女俱乐部五十路六十路av | 中国大陆精品视频xxxx | 中文无码成人免费视频在线观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | 少妇邻居内射在线 | 人人妻人人澡人人爽欧美一区九九 | 国产精品久久久久久无码 | 精品国产av色一区二区深夜久久 | 国产亚洲精品久久久久久国模美 | 鲁一鲁av2019在线 | 呦交小u女精品视频 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 综合激情五月综合激情五月激情1 | 男人的天堂2018无码 | 又粗又大又硬又长又爽 | 天天做天天爱天天爽综合网 | 国产两女互慰高潮视频在线观看 | 国产精品无码永久免费888 | 国产激情精品一区二区三区 | 国产九九九九九九九a片 | 国产人妻久久精品二区三区老狼 | 十八禁真人啪啪免费网站 | 亚洲国产精品无码一区二区三区 | 色妞www精品免费视频 | 欧美一区二区三区 | 国产亚洲人成a在线v网站 | 色综合天天综合狠狠爱 | 久久久久免费精品国产 | 亚洲热妇无码av在线播放 | 久久国产精品二国产精品 | 成在人线av无码免观看麻豆 | 少女韩国电视剧在线观看完整 | 亚洲成色www久久网站 | 中文字幕无码视频专区 | 久久综合色之久久综合 | 2019nv天堂香蕉在线观看 | 亚洲精品一区三区三区在线观看 | 理论片87福利理论电影 | 国产成人精品三级麻豆 | 在线观看免费人成视频 | 内射爽无广熟女亚洲 | 无码国产激情在线观看 | 男女下面进入的视频免费午夜 | 国产手机在线αⅴ片无码观看 | 日韩人妻无码一区二区三区久久99 | 久久精品丝袜高跟鞋 | 国产精品成人av在线观看 | 少妇的肉体aa片免费 | 久久久中文字幕日本无吗 | 好屌草这里只有精品 | 久久人人爽人人爽人人片av高清 | 国内揄拍国内精品人妻 | 国产精品国产三级国产专播 | 精品国产一区二区三区四区在线看 | 亚洲精品国产精品乱码不卡 | 国产两女互慰高潮视频在线观看 | а√资源新版在线天堂 | 国产精品多人p群无码 | 无码人中文字幕 | 狂野欧美激情性xxxx | 最新版天堂资源中文官网 | 亚洲中文字幕无码一久久区 | 日欧一片内射va在线影院 | 精品成人av一区二区三区 | 欧美国产日产一区二区 | 蜜桃视频插满18在线观看 | 99久久婷婷国产综合精品青草免费 | 国产av无码专区亚洲awww | 国产亚洲美女精品久久久2020 | 国产精品久久久 | 久久久久亚洲精品中文字幕 | a在线观看免费网站大全 | 欧美黑人巨大xxxxx | 国产精品高潮呻吟av久久4虎 | 久久久久久国产精品无码下载 | 国产 浪潮av性色四虎 | 四虎国产精品免费久久 | 黄网在线观看免费网站 | 蜜桃无码一区二区三区 | 国产精品高潮呻吟av久久4虎 | 久久综合久久自在自线精品自 | 综合人妻久久一区二区精品 | 国产性生交xxxxx无码 | 国产美女极度色诱视频www | 国精品人妻无码一区二区三区蜜柚 | 久久久久久久女国产乱让韩 | 日本一本二本三区免费 | 精品国产一区二区三区av 性色 | 久久久久久亚洲精品a片成人 | 天海翼激烈高潮到腰振不止 | 欧美freesex黑人又粗又大 | 精品国产av色一区二区深夜久久 | 亚洲精品国产精品乱码视色 | 天海翼激烈高潮到腰振不止 | 国产特级毛片aaaaaa高潮流水 | 欧美zoozzooz性欧美 | 无码国产激情在线观看 | 国产综合久久久久鬼色 | 熟妇人妻激情偷爽文 | 97精品人妻一区二区三区香蕉 | 特黄特色大片免费播放器图片 | 国产午夜福利100集发布 | 67194成是人免费无码 | 婷婷五月综合缴情在线视频 | 午夜精品一区二区三区在线观看 | 99久久久国产精品无码免费 | 麻豆成人精品国产免费 | 香港三级日本三级妇三级 | 成熟妇人a片免费看网站 | 天天躁日日躁狠狠躁免费麻豆 | 曰本女人与公拘交酡免费视频 | 日本丰满护士爆乳xxxx | 99久久无码一区人妻 | 久久久久久av无码免费看大片 | 丰满人妻一区二区三区免费视频 | 人人澡人摸人人添 | 婷婷六月久久综合丁香 | 丰满肥臀大屁股熟妇激情视频 | 高清不卡一区二区三区 | 丝袜 中出 制服 人妻 美腿 | 免费观看的无遮挡av | 红桃av一区二区三区在线无码av | 少妇被黑人到高潮喷出白浆 | 亚洲精品一区二区三区婷婷月 | 18黄暴禁片在线观看 | 特黄特色大片免费播放器图片 | 国产乱人伦偷精品视频 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 色欲人妻aaaaaaa无码 | 国内精品九九久久久精品 | 精品久久久久久人妻无码中文字幕 | 黑人巨大精品欧美黑寡妇 | 丰满人妻精品国产99aⅴ | 国产色精品久久人妻 | 少妇邻居内射在线 | 日本一卡2卡3卡四卡精品网站 | 日本一本二本三区免费 | 国产成人综合在线女婷五月99播放 | a在线观看免费网站大全 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品.xx视频.xxtv | 国产精品igao视频网 | 一本一道久久综合久久 | 中文字幕无码人妻少妇免费 | 人妻aⅴ无码一区二区三区 | 男女猛烈xx00免费视频试看 | 欧美大屁股xxxxhd黑色 | 少妇无码av无码专区在线观看 | 国内精品一区二区三区不卡 | 国产精品.xx视频.xxtv | 福利一区二区三区视频在线观看 | 国产精品欧美成人 | 中文字幕人成乱码熟女app | 黑人玩弄人妻中文在线 | 国产精品爱久久久久久久 | 中文字幕无码日韩专区 | 国产精品久久久 | 日日摸天天摸爽爽狠狠97 | 精品无人国产偷自产在线 | 亚洲中文字幕乱码av波多ji | 领导边摸边吃奶边做爽在线观看 | 一区二区三区乱码在线 | 欧洲 | 国产精品资源一区二区 | 国产综合在线观看 | 真人与拘做受免费视频一 | 中文无码精品a∨在线观看不卡 | 麻豆md0077饥渴少妇 | 亚洲 高清 成人 动漫 | 亚洲国精产品一二二线 | 国内精品久久久久久中文字幕 | 亚洲一区二区三区在线观看网站 | 国产成人精品无码播放 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 又黄又爽又色的视频 | 成年美女黄网站色大免费视频 | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲经典千人经典日产 | 女人被男人爽到呻吟的视频 | 亚洲成av人在线观看网址 | 久久精品国产大片免费观看 | 久久国产精品精品国产色婷婷 | 亚洲综合另类小说色区 | 亚洲区欧美区综合区自拍区 | 最新版天堂资源中文官网 | 67194成是人免费无码 | 日本一区二区三区免费高清 | 欧美日韩一区二区免费视频 | 人妻aⅴ无码一区二区三区 | 麻豆果冻传媒2021精品传媒一区下载 | 极品尤物被啪到呻吟喷水 | 久久久久se色偷偷亚洲精品av | 激情综合激情五月俺也去 | 国产另类ts人妖一区二区 | 久久综合激激的五月天 | 四虎4hu永久免费 | 久精品国产欧美亚洲色aⅴ大片 | 久久亚洲a片com人成 | 野外少妇愉情中文字幕 | 欧美精品一区二区精品久久 | 中文字幕无码人妻少妇免费 | 国产人妻精品一区二区三区不卡 | yw尤物av无码国产在线观看 | 色狠狠av一区二区三区 | 久久精品女人的天堂av | 亚洲乱码中文字幕在线 | 中文精品无码中文字幕无码专区 | ass日本丰满熟妇pics | 亚洲一区二区三区播放 | 狠狠色色综合网站 | 午夜精品久久久久久久久 | 国产亲子乱弄免费视频 | 欧美怡红院免费全部视频 | 国产亚洲精品精品国产亚洲综合 | 日本在线高清不卡免费播放 | 国产精品怡红院永久免费 | 国产色在线 | 国产 | 亚洲精品成a人在线观看 | 成人一在线视频日韩国产 | 国产香蕉尹人综合在线观看 | 乱中年女人伦av三区 | 成人精品一区二区三区中文字幕 | 欧美xxxxx精品 | 少妇激情av一区二区 | 无遮挡国产高潮视频免费观看 | 亚洲综合无码久久精品综合 | www国产亚洲精品久久网站 | 亚洲阿v天堂在线 | 成人av无码一区二区三区 | 久久久久久国产精品无码下载 | 亚洲国产欧美国产综合一区 | 老太婆性杂交欧美肥老太 | 成人性做爰aaa片免费看 | 国产精品丝袜黑色高跟鞋 | 久久精品国产大片免费观看 | 成人性做爰aaa片免费看 | 亚洲天堂2017无码 | 99视频精品全部免费免费观看 | 欧洲精品码一区二区三区免费看 | 精品无码av一区二区三区 | 激情综合激情五月俺也去 | 老子影院午夜伦不卡 | 欧洲美熟女乱又伦 | 无码免费一区二区三区 | 精品国产一区av天美传媒 | 久久伊人色av天堂九九小黄鸭 | 蜜桃视频插满18在线观看 | 色欲av亚洲一区无码少妇 | 麻豆国产人妻欲求不满谁演的 | 欧美人与物videos另类 | 久久久久av无码免费网 | av人摸人人人澡人人超碰下载 | 亚洲国产av精品一区二区蜜芽 | 免费国产成人高清在线观看网站 | www国产亚洲精品久久久日本 | 99久久精品国产一区二区蜜芽 | aa片在线观看视频在线播放 | 亚洲中文字幕无码中字 | 亚洲熟妇自偷自拍另类 | 亚洲精品一区二区三区四区五区 | 国产人妖乱国产精品人妖 | 欧美日本精品一区二区三区 | 波多野结衣一区二区三区av免费 | 亚洲国产日韩a在线播放 | 国内揄拍国内精品人妻 | 亚洲中文字幕在线无码一区二区 | 国产精品美女久久久久av爽李琼 | 亚洲精品国产精品乱码不卡 | 国产福利视频一区二区 | 波多野结衣 黑人 | 国产精品99久久精品爆乳 | 中文字幕无码免费久久99 | 国产suv精品一区二区五 | 免费人成在线视频无码 | 日本va欧美va欧美va精品 | 婷婷综合久久中文字幕蜜桃三电影 | 欧美人与禽猛交狂配 | 国产在线精品一区二区三区直播 | 亚洲欧美精品伊人久久 | 国产精品久久久久久无码 | 精品国产aⅴ无码一区二区 | 精品偷拍一区二区三区在线看 | 无码精品人妻一区二区三区av | 精品人妻中文字幕有码在线 | 欧美第一黄网免费网站 | 国产成人无码av片在线观看不卡 | 国产av一区二区精品久久凹凸 | 999久久久国产精品消防器材 | 麻豆国产97在线 | 欧洲 | 偷窥村妇洗澡毛毛多 | 97久久精品无码一区二区 | 亚洲自偷精品视频自拍 | 熟女少妇在线视频播放 | 免费人成网站视频在线观看 | 人妻尝试又大又粗久久 | 在线观看免费人成视频 | 成人亚洲精品久久久久软件 | 国产三级久久久精品麻豆三级 | 巨爆乳无码视频在线观看 | 亚洲区小说区激情区图片区 | 色欲人妻aaaaaaa无码 | 久久久国产精品无码免费专区 | 精品人妻av区 | 久久午夜无码鲁丝片 | 欧美亚洲国产一区二区三区 | 国内丰满熟女出轨videos | 东京一本一道一二三区 | 久久午夜夜伦鲁鲁片无码免费 | 国产成人精品优优av | 日本在线高清不卡免费播放 | aa片在线观看视频在线播放 | 国产亚洲精品久久久久久国模美 | 欧美国产亚洲日韩在线二区 | 麻豆md0077饥渴少妇 | 麻豆果冻传媒2021精品传媒一区下载 | 日韩无码专区 | 美女扒开屁股让男人桶 | 欧美freesex黑人又粗又大 | 国产超碰人人爽人人做人人添 | 日本一区二区更新不卡 | 欧美性猛交内射兽交老熟妇 | 女人被男人躁得好爽免费视频 | 最新国产麻豆aⅴ精品无码 | 色情久久久av熟女人妻网站 | 极品嫩模高潮叫床 | 成人影院yy111111在线观看 | 人妻少妇精品久久 | 国产婷婷色一区二区三区在线 | 婷婷综合久久中文字幕蜜桃三电影 | 国产极品美女高潮无套在线观看 | 少妇人妻偷人精品无码视频 | 亚洲の无码国产の无码影院 | 亚洲春色在线视频 | 亚洲欧美色中文字幕在线 | 伦伦影院午夜理论片 | 日本免费一区二区三区最新 | 亚洲色欲久久久综合网东京热 | 亚洲第一网站男人都懂 | 中文精品久久久久人妻不卡 | 亚洲精品久久久久久久久久久 | 97久久国产亚洲精品超碰热 | 国产无套内射久久久国产 | 日韩人妻少妇一区二区三区 | 精品欧美一区二区三区久久久 | 在线成人www免费观看视频 | 久久久久久av无码免费看大片 | 精品日本一区二区三区在线观看 | 无码人妻精品一区二区三区不卡 | 美女黄网站人色视频免费国产 | 丰满人妻一区二区三区免费视频 | 日日碰狠狠丁香久燥 | 日韩精品a片一区二区三区妖精 | 少妇性俱乐部纵欲狂欢电影 | 人人爽人人澡人人高潮 | 狠狠色丁香久久婷婷综合五月 | 精品一区二区不卡无码av | 久久久国产一区二区三区 | 国产精品人妻一区二区三区四 | 人人妻人人澡人人爽欧美精品 | 无码国模国产在线观看 | 中文字幕 亚洲精品 第1页 | 亚洲精品www久久久 | 色综合久久网 | 国产成人精品一区二区在线小狼 | 欧美激情内射喷水高潮 | а√天堂www在线天堂小说 | 国产一区二区三区影院 | 特黄特色大片免费播放器图片 | 天天躁日日躁狠狠躁免费麻豆 | 国产国语老龄妇女a片 | 日本精品人妻无码免费大全 | 久久久成人毛片无码 | av香港经典三级级 在线 | 中文字幕+乱码+中文字幕一区 | 国产午夜视频在线观看 | 国产av剧情md精品麻豆 | 亚洲日韩中文字幕在线播放 | аⅴ资源天堂资源库在线 | 精品国产乱码久久久久乱码 | 欧美精品免费观看二区 | 亚洲爆乳无码专区 | 色婷婷综合激情综在线播放 | 国产成人综合美国十次 | 正在播放老肥熟妇露脸 | 亚洲精品一区二区三区婷婷月 | 日产国产精品亚洲系列 | 人人妻人人澡人人爽欧美一区九九 | 国产精品亚洲lv粉色 | 熟女少妇在线视频播放 | 99久久婷婷国产综合精品青草免费 | 亚洲狠狠色丁香婷婷综合 | 亚洲人成网站在线播放942 | √天堂资源地址中文在线 | 青草青草久热国产精品 | 露脸叫床粗话东北少妇 | 精品熟女少妇av免费观看 | 无码精品国产va在线观看dvd | 人妻互换免费中文字幕 | 狂野欧美激情性xxxx | 亚洲第一无码av无码专区 | 男女性色大片免费网站 | 欧美日韩精品 | 午夜免费福利小电影 | 国产精品资源一区二区 | 人人妻人人澡人人爽欧美一区九九 | 狠狠躁日日躁夜夜躁2020 | 自拍偷自拍亚洲精品10p | 麻豆国产丝袜白领秘书在线观看 | 特大黑人娇小亚洲女 | 午夜嘿嘿嘿影院 | 中文字幕人妻无码一夲道 | 亚洲欧洲日本综合aⅴ在线 | 亚洲成av人影院在线观看 | 久久久久99精品成人片 | 亚洲国产一区二区三区在线观看 | 亚洲色大成网站www | 伊人久久大香线焦av综合影院 | 亚洲乱亚洲乱妇50p | 欧美变态另类xxxx | 自拍偷自拍亚洲精品10p | 免费男性肉肉影院 | 久久人人爽人人爽人人片ⅴ | 免费人成在线视频无码 | 99re在线播放 | 久久精品中文闷骚内射 | 精品国精品国产自在久国产87 | 国产成人无码av片在线观看不卡 | 中文字幕 亚洲精品 第1页 | 欧美自拍另类欧美综合图片区 | 国产成人无码a区在线观看视频app | 女高中生第一次破苞av | 超碰97人人做人人爱少妇 | 高清无码午夜福利视频 | 少妇无码一区二区二三区 | 国产在线aaa片一区二区99 | 日本一本二本三区免费 | 亚洲人亚洲人成电影网站色 | 国产精品无码永久免费888 | 久久午夜夜伦鲁鲁片无码免费 | 性欧美牲交在线视频 | 欧美精品免费观看二区 | 精品无码av一区二区三区 | 久久久久成人精品免费播放动漫 | 玩弄中年熟妇正在播放 | 免费国产成人高清在线观看网站 | 麻豆国产丝袜白领秘书在线观看 | 国产亚洲精品久久久久久国模美 | 亚洲男人av天堂午夜在 | 久久国内精品自在自线 | 色综合久久88色综合天天 | 久久无码专区国产精品s | 老头边吃奶边弄进去呻吟 | 日本护士毛茸茸高潮 | 国产精品久久久久久亚洲毛片 | 国产成人无码av片在线观看不卡 | 最新国产乱人伦偷精品免费网站 | 久久伊人色av天堂九九小黄鸭 | 无码人妻出轨黑人中文字幕 | 青青草原综合久久大伊人精品 | 少妇被粗大的猛进出69影院 | 国产黑色丝袜在线播放 | 久久99精品久久久久婷婷 | 亚洲精品综合五月久久小说 | 国产免费无码一区二区视频 | 日本精品久久久久中文字幕 | 国产成人亚洲综合无码 | 亚洲中文字幕久久无码 | 久久久久久av无码免费看大片 | 中文无码成人免费视频在线观看 | 亚洲一区二区三区国产精华液 | 国产欧美熟妇另类久久久 | 亚洲无人区午夜福利码高清完整版 | 久久精品中文字幕一区 | 丰满妇女强制高潮18xxxx | 久久久久免费看成人影片 | 中文字幕精品av一区二区五区 | 黑人巨大精品欧美一区二区 | 久久国产精品二国产精品 | 国内少妇偷人精品视频 | 宝宝好涨水快流出来免费视频 | 人人爽人人澡人人人妻 | 粗大的内捧猛烈进出视频 | 中文字幕无码免费久久99 | 在线观看国产午夜福利片 | 性生交大片免费看女人按摩摩 | 国产精品无码成人午夜电影 | 国产精品人人爽人人做我的可爱 | 免费人成网站视频在线观看 | 亚洲色www成人永久网址 | 精品无码国产一区二区三区av | 亚洲熟妇自偷自拍另类 | 欧美xxxx黑人又粗又长 | 一个人看的www免费视频在线观看 | 久久国产劲爆∧v内射 | 最新版天堂资源中文官网 | 中文字幕中文有码在线 | 99久久人妻精品免费二区 | 日日摸日日碰夜夜爽av | 中文亚洲成a人片在线观看 | 精品无码一区二区三区的天堂 | 在线观看免费人成视频 | 色五月丁香五月综合五月 | 亚洲一区二区三区在线观看网站 | 久在线观看福利视频 | 野外少妇愉情中文字幕 | 超碰97人人射妻 | 在线a亚洲视频播放在线观看 | 丰满妇女强制高潮18xxxx | 色老头在线一区二区三区 | 日韩亚洲欧美中文高清在线 | 欧美丰满熟妇xxxx性ppx人交 | 国产成人精品必看 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产精品亚洲综合色区韩国 | 一区二区三区乱码在线 | 欧洲 | 鲁鲁鲁爽爽爽在线视频观看 | 国产又爽又猛又粗的视频a片 | 人妻尝试又大又粗久久 | 国产精品亚洲一区二区三区喷水 | 蜜桃av抽搐高潮一区二区 | 久久综合给久久狠狠97色 | 欧美丰满熟妇xxxx性ppx人交 | 99久久久无码国产精品免费 | 在线播放无码字幕亚洲 | 乱人伦人妻中文字幕无码久久网 | 亚洲精品国产精品乱码不卡 | 黑人玩弄人妻中文在线 | 成人亚洲精品久久久久软件 | 2020久久香蕉国产线看观看 | 久久综合给久久狠狠97色 | 久久99精品久久久久久动态图 | 久久久久成人精品免费播放动漫 | 国产精品久久久午夜夜伦鲁鲁 | 国产成人精品久久亚洲高清不卡 | 国精产品一品二品国精品69xx | 中文字幕日产无线码一区 | 麻花豆传媒剧国产免费mv在线 | 日日摸夜夜摸狠狠摸婷婷 | 中文字幕无码免费久久9一区9 | 激情亚洲一区国产精品 | 国产精品高潮呻吟av久久4虎 | 无码一区二区三区在线观看 | 两性色午夜免费视频 | 玩弄中年熟妇正在播放 | 色综合久久久久综合一本到桃花网 | 熟女少妇在线视频播放 | av小次郎收藏 | 日日夜夜撸啊撸 | 成人综合网亚洲伊人 | 无码人妻精品一区二区三区不卡 | 国产凸凹视频一区二区 | 内射欧美老妇wbb | 大屁股大乳丰满人妻 | 给我免费的视频在线观看 | 中文字幕无码乱人伦 | 久久国产36精品色熟妇 | 两性色午夜视频免费播放 | 成人欧美一区二区三区黑人 | 最近中文2019字幕第二页 | 一本无码人妻在中文字幕免费 | 亚洲中文字幕在线观看 | 亚洲の无码国产の无码步美 | 亚洲欧美中文字幕5发布 | 久久综合网欧美色妞网 | 亚洲中文无码av永久不收费 | 伊人久久大香线焦av综合影院 | 乌克兰少妇xxxx做受 | 久久国产精品偷任你爽任你 | 精品人妻中文字幕有码在线 | 久久亚洲中文字幕无码 | 亚洲国产av美女网站 | 欧美性生交活xxxxxdddd | 国产成人无码区免费内射一片色欲 | 熟女少妇在线视频播放 | 中文字幕人成乱码熟女app | 一本久道久久综合狠狠爱 | 国内揄拍国内精品少妇国语 | 色老头在线一区二区三区 | 老熟妇乱子伦牲交视频 | 亚洲啪av永久无码精品放毛片 | 午夜肉伦伦影院 | 日本大香伊一区二区三区 | 人人爽人人爽人人片av亚洲 | 女人被男人躁得好爽免费视频 | 精品国产福利一区二区 | 台湾无码一区二区 | 国产农村乱对白刺激视频 | 国产欧美精品一区二区三区 | 性欧美牲交xxxxx视频 | 国产黄在线观看免费观看不卡 | 午夜性刺激在线视频免费 | 国产9 9在线 | 中文 | 久久久精品欧美一区二区免费 | 麻豆md0077饥渴少妇 | 久久99精品国产麻豆蜜芽 | 久久国产精品萌白酱免费 | 国产精品无码永久免费888 | 国产精品久久久久无码av色戒 | 国内老熟妇对白xxxxhd | 国产乡下妇女做爰 | 狠狠cao日日穞夜夜穞av | 亚洲精品一区二区三区婷婷月 | 性色av无码免费一区二区三区 | 人妻少妇被猛烈进入中文字幕 | 成人精品天堂一区二区三区 | 亚洲精品美女久久久久久久 | 欧美日韩一区二区综合 | 亚洲色www成人永久网址 | 国产热a欧美热a在线视频 | 色综合久久久久综合一本到桃花网 | 亚洲成av人在线观看网址 | 久久zyz资源站无码中文动漫 | 精品国产一区二区三区av 性色 | 精品久久久无码人妻字幂 | 国产精品亚洲一区二区三区喷水 | 免费无码一区二区三区蜜桃大 | 国产69精品久久久久app下载 | 日韩av激情在线观看 | 精品 日韩 国产 欧美 视频 | 久久精品国产一区二区三区 | 亚洲精品国产精品乱码不卡 | 国产精品亚洲lv粉色 | 中文字幕人成乱码熟女app | 撕开奶罩揉吮奶头视频 | 亚洲精品成a人在线观看 | 人妻尝试又大又粗久久 | 丰满人妻一区二区三区免费视频 | 久久亚洲日韩精品一区二区三区 | 日日摸天天摸爽爽狠狠97 | 粗大的内捧猛烈进出视频 | 性欧美牲交在线视频 | 亚洲日韩一区二区三区 | 麻豆精品国产精华精华液好用吗 | 婷婷色婷婷开心五月四房播播 | 国产精品-区区久久久狼 | 亚洲欧洲日本无在线码 | 亚洲色欲色欲天天天www | 午夜无码人妻av大片色欲 | 理论片87福利理论电影 | aⅴ亚洲 日韩 色 图网站 播放 | 亚洲а∨天堂久久精品2021 | 美女极度色诱视频国产 | 97久久精品无码一区二区 | 中文字幕人成乱码熟女app | 久久99热只有频精品8 | 7777奇米四色成人眼影 | 高清不卡一区二区三区 | 国产xxx69麻豆国语对白 | 88国产精品欧美一区二区三区 | 亚洲va中文字幕无码久久不卡 | 亚洲色欲色欲欲www在线 | 亚洲爆乳精品无码一区二区三区 | 又大又硬又爽免费视频 | 巨爆乳无码视频在线观看 | 成 人影片 免费观看 | 久久国内精品自在自线 | 亚洲精品午夜国产va久久成人 | 欧美刺激性大交 | 人人爽人人爽人人片av亚洲 | 国产人妻久久精品二区三区老狼 | 亚洲第一网站男人都懂 | 久久久久久亚洲精品a片成人 | 4hu四虎永久在线观看 | 精品夜夜澡人妻无码av蜜桃 | 国产手机在线αⅴ片无码观看 | 麻豆蜜桃av蜜臀av色欲av | 久久久久久a亚洲欧洲av冫 | 99riav国产精品视频 | 日日鲁鲁鲁夜夜爽爽狠狠 | 无遮无挡爽爽免费视频 | 无码人妻少妇伦在线电影 | 玩弄少妇高潮ⅹxxxyw | 噜噜噜亚洲色成人网站 | 大肉大捧一进一出视频出来呀 | 色老头在线一区二区三区 | 精品无人区无码乱码毛片国产 | 天天综合网天天综合色 | 97精品人妻一区二区三区香蕉 | 国产精品va在线观看无码 | 欧美 日韩 人妻 高清 中文 | 亚洲の无码国产の无码步美 | 久久精品国产亚洲精品 | 免费观看激色视频网站 | 久久久国产一区二区三区 | 久久成人a毛片免费观看网站 | 99re在线播放 | 在线精品国产一区二区三区 | 一本一道久久综合久久 | 国产suv精品一区二区五 | 国产va免费精品观看 | 岛国片人妻三上悠亚 | 国产av剧情md精品麻豆 | 熟女少妇在线视频播放 | 婷婷六月久久综合丁香 | 国产成人无码a区在线观看视频app | 亚洲欧洲日本综合aⅴ在线 | 四虎4hu永久免费 | 国产一区二区不卡老阿姨 | 日本爽爽爽爽爽爽在线观看免 | 无码人妻黑人中文字幕 | 国产极品美女高潮无套在线观看 | 特黄特色大片免费播放器图片 | 国产卡一卡二卡三 | 奇米影视7777久久精品 | 亚洲精品一区二区三区婷婷月 | 成年美女黄网站色大免费视频 | 久久无码人妻影院 | 午夜福利电影 | 国产精品无码成人午夜电影 | 国产美女精品一区二区三区 | 精品人妻av区 | 国产精品办公室沙发 | 日日噜噜噜噜夜夜爽亚洲精品 | 性做久久久久久久免费看 | av无码久久久久不卡免费网站 | 老太婆性杂交欧美肥老太 | 无遮无挡爽爽免费视频 | 日韩在线不卡免费视频一区 | 亚洲国产精品久久久天堂 | 亚洲无人区一区二区三区 | 欧美日韩在线亚洲综合国产人 | 亚洲精品欧美二区三区中文字幕 | 欧美日本精品一区二区三区 | 自拍偷自拍亚洲精品10p | 动漫av一区二区在线观看 | 亚洲欧洲中文日韩av乱码 | 国产网红无码精品视频 | 中文字幕乱码人妻二区三区 | 俺去俺来也在线www色官网 | 婷婷丁香五月天综合东京热 | 性生交大片免费看l | 日韩亚洲欧美中文高清在线 | 久久国产精品二国产精品 | 亚洲综合精品香蕉久久网 | 色老头在线一区二区三区 | 国产精品自产拍在线观看 | 日日麻批免费40分钟无码 | 两性色午夜视频免费播放 | 久久久久久国产精品无码下载 | 亚洲性无码av中文字幕 | 亚洲精品鲁一鲁一区二区三区 | 大色综合色综合网站 | 性欧美熟妇videofreesex | 丁香花在线影院观看在线播放 | 免费视频欧美无人区码 | 免费看少妇作爱视频 | 四虎影视成人永久免费观看视频 | 久久人人97超碰a片精品 | 久久这里只有精品视频9 | 久久五月精品中文字幕 | 麻豆精产国品 | 麻豆国产97在线 | 欧洲 | 兔费看少妇性l交大片免费 | 少妇久久久久久人妻无码 | 国产女主播喷水视频在线观看 | 国产成人一区二区三区在线观看 | 东京无码熟妇人妻av在线网址 | 麻豆md0077饥渴少妇 | 欧美变态另类xxxx | 99久久精品日本一区二区免费 | 成人无码精品一区二区三区 | 日韩亚洲欧美中文高清在线 | 少妇无码一区二区二三区 | 亚洲国产日韩a在线播放 | 久久久精品456亚洲影院 | 亚洲中文字幕在线无码一区二区 | 少妇久久久久久人妻无码 | 国产明星裸体无码xxxx视频 | 俺去俺来也在线www色官网 | 精品人妻人人做人人爽 | 牲欲强的熟妇农村老妇女视频 | 久久久久亚洲精品中文字幕 | 亚洲 另类 在线 欧美 制服 | 日日摸日日碰夜夜爽av | 欧美喷潮久久久xxxxx | 国产亚洲美女精品久久久2020 | 亚洲午夜久久久影院 | 亚洲狠狠色丁香婷婷综合 | 国产综合在线观看 | 精品久久久中文字幕人妻 | 女人色极品影院 | 亚洲日韩av片在线观看 | 伊人色综合久久天天小片 | 丝袜足控一区二区三区 | 精品无码国产自产拍在线观看蜜 | 国产乡下妇女做爰 | 俺去俺来也www色官网 | 色五月五月丁香亚洲综合网 | 成人欧美一区二区三区 | 伊人久久大香线焦av综合影院 | 久久亚洲a片com人成 | 亚洲精品国产精品乱码不卡 | 久久久国产精品无码免费专区 | 麻豆国产人妻欲求不满谁演的 | 国产午夜福利亚洲第一 | 亚洲无人区午夜福利码高清完整版 | 国产精品久久久久久亚洲毛片 | 中文字幕无码免费久久99 | 蜜桃视频插满18在线观看 | 久久国语露脸国产精品电影 | 欧美 日韩 人妻 高清 中文 | 久久精品中文闷骚内射 | 特级做a爰片毛片免费69 | 国产精品人人爽人人做我的可爱 | 亚洲中文字幕在线无码一区二区 | 麻豆成人精品国产免费 | 99久久精品午夜一区二区 | 人妻无码久久精品人妻 | 中文精品久久久久人妻不卡 | 少妇性l交大片 | 伊在人天堂亚洲香蕉精品区 | 97精品国产97久久久久久免费 | 色综合久久久无码中文字幕 | 亚洲精品国产精品乱码不卡 | 亚洲狠狠色丁香婷婷综合 | 青青久在线视频免费观看 | 精品aⅴ一区二区三区 | 麻豆精品国产精华精华液好用吗 | 老司机亚洲精品影院 | 色噜噜亚洲男人的天堂 | 黑人粗大猛烈进出高潮视频 | 国产一区二区三区四区五区加勒比 | 日韩亚洲欧美中文高清在线 | 思思久久99热只有频精品66 | 欧美精品一区二区精品久久 | 亚洲 高清 成人 动漫 | 18精品久久久无码午夜福利 | 国产偷国产偷精品高清尤物 | 亚洲日韩一区二区三区 | 成熟人妻av无码专区 | 黑人大群体交免费视频 | 日韩精品乱码av一区二区 | 久久综合久久自在自线精品自 | 精品国产乱码久久久久乱码 | 欧美丰满熟妇xxxx | 国产成人精品久久亚洲高清不卡 | 亚洲日韩一区二区 | 亚洲精品一区二区三区在线观看 | 影音先锋中文字幕无码 | 欧美xxxx黑人又粗又长 | 青草青草久热国产精品 | 久久国产精品萌白酱免费 | 亚洲一区二区三区国产精华液 | 欧美性猛交内射兽交老熟妇 | 国产精品美女久久久网av | 国产精品久久久久影院嫩草 | 亚洲成熟女人毛毛耸耸多 | а√天堂www在线天堂小说 | 俄罗斯老熟妇色xxxx | 精品国产一区av天美传媒 | 2019nv天堂香蕉在线观看 | 丰满人妻翻云覆雨呻吟视频 | 成人三级无码视频在线观看 | 久久精品中文闷骚内射 | 人妻插b视频一区二区三区 | 18黄暴禁片在线观看 | 国产精品自产拍在线观看 | 国产av无码专区亚洲a∨毛片 | 玩弄中年熟妇正在播放 | 精品少妇爆乳无码av无码专区 | 色一情一乱一伦一视频免费看 | 少妇性荡欲午夜性开放视频剧场 | 亚洲精品中文字幕 | 无遮挡国产高潮视频免费观看 | 日本熟妇大屁股人妻 | 老熟女乱子伦 | 2019午夜福利不卡片在线 | 中文毛片无遮挡高清免费 | 亚洲色在线无码国产精品不卡 | 国产av人人夜夜澡人人爽麻豆 | 色综合天天综合狠狠爱 | 永久免费观看美女裸体的网站 | aⅴ在线视频男人的天堂 | 东北女人啪啪对白 | 澳门永久av免费网站 | 亚洲 欧美 激情 小说 另类 | 无套内射视频囯产 | 色综合久久久无码中文字幕 | 色婷婷香蕉在线一区二区 | 午夜福利一区二区三区在线观看 | 97色伦图片97综合影院 | 欧美丰满熟妇xxxx | 亚洲男人av香蕉爽爽爽爽 | 成人一区二区免费视频 | 亚洲一区二区三区四区 | 狠狠色色综合网站 | 岛国片人妻三上悠亚 | 女人和拘做爰正片视频 | 精品国产精品久久一区免费式 | 亚洲国产精品一区二区美利坚 | 国产极品视觉盛宴 | 免费观看激色视频网站 | 国产亚洲tv在线观看 | 美女扒开屁股让男人桶 | 久激情内射婷内射蜜桃人妖 | 欧洲欧美人成视频在线 | 大肉大捧一进一出视频出来呀 | 婷婷综合久久中文字幕蜜桃三电影 | 99er热精品视频 | 国内老熟妇对白xxxxhd | 野外少妇愉情中文字幕 | 精品国产成人一区二区三区 | 国产高潮视频在线观看 | 成人无码精品1区2区3区免费看 | 牲交欧美兽交欧美 | 国产熟妇另类久久久久 | 国产成人午夜福利在线播放 | 亚洲一区av无码专区在线观看 | 国产成人无码专区 | 在线亚洲高清揄拍自拍一品区 | 76少妇精品导航 | 性生交大片免费看l | 亚洲人亚洲人成电影网站色 | 97无码免费人妻超级碰碰夜夜 | 久久99热只有频精品8 | 亚洲一区二区三区在线观看网站 | 老熟女重囗味hdxx69 | 麻豆国产丝袜白领秘书在线观看 | av无码电影一区二区三区 | 免费观看又污又黄的网站 | 国产激情无码一区二区app | 激情亚洲一区国产精品 | 色一情一乱一伦一区二区三欧美 | 久久99精品久久久久久动态图 | 国精产品一区二区三区 | 精品国产一区二区三区av 性色 | 又色又爽又黄的美女裸体网站 | 中文精品久久久久人妻不卡 | 一本久久伊人热热精品中文字幕 | 欧美日本日韩 | 免费视频欧美无人区码 | 噜噜噜亚洲色成人网站 | 人妻少妇精品无码专区动漫 | 亚洲成av人在线观看网址 | 午夜精品一区二区三区的区别 | 无码精品人妻一区二区三区av | 精品国产青草久久久久福利 | 夜夜高潮次次欢爽av女 | 2020久久香蕉国产线看观看 | 国产明星裸体无码xxxx视频 | 亚洲国产精品一区二区美利坚 | 清纯唯美经典一区二区 | 一个人免费观看的www视频 | 日本精品人妻无码77777 天堂一区人妻无码 | 人人妻人人澡人人爽人人精品浪潮 | 搡女人真爽免费视频大全 | 中文字幕乱码人妻无码久久 | 中文字幕人妻无码一区二区三区 | 婷婷五月综合激情中文字幕 | 日本又色又爽又黄的a片18禁 | 国产性生大片免费观看性 | 午夜精品久久久久久久 | 欧美精品在线观看 | 国产精品亚洲lv粉色 | 99精品国产综合久久久久五月天 | 亚洲欧洲中文日韩av乱码 | 沈阳熟女露脸对白视频 | 国产精品igao视频网 | 亚洲aⅴ无码成人网站国产app | 成在人线av无码免观看麻豆 | 欧美激情综合亚洲一二区 | 欧美人与禽zoz0性伦交 | 少妇被黑人到高潮喷出白浆 | 亚洲一区二区三区在线观看网站 | 51国偷自产一区二区三区 | 国产精品亚洲五月天高清 | 国产一区二区三区影院 | 99在线 | 亚洲 | 久久人人爽人人爽人人片ⅴ | 国产精品鲁鲁鲁 | 窝窝午夜理论片影院 | 少妇人妻av毛片在线看 | 国产97人人超碰caoprom | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 欧美精品无码一区二区三区 | 成年美女黄网站色大免费视频 | 国产av人人夜夜澡人人爽麻豆 | 国产人妻精品一区二区三区不卡 | 中国大陆精品视频xxxx | 久久国内精品自在自线 | 午夜福利一区二区三区在线观看 | 欧美 日韩 人妻 高清 中文 | 国产99久久精品一区二区 | 亚洲区欧美区综合区自拍区 | 又大又黄又粗又爽的免费视频 | 亚洲日本一区二区三区在线 | 成人av无码一区二区三区 | 日韩精品乱码av一区二区 | 成在人线av无码免观看麻豆 | 人人妻人人澡人人爽人人精品浪潮 | 2020最新国产自产精品 | 欧美性猛交内射兽交老熟妇 | √天堂中文官网8在线 | 久久久www成人免费毛片 | 高清国产亚洲精品自在久久 | 日本饥渴人妻欲求不满 | 国产sm调教视频在线观看 | 国产精品亚洲五月天高清 | 好屌草这里只有精品 | 波多野结衣aⅴ在线 | 亚洲伊人久久精品影院 | a在线亚洲男人的天堂 | 少妇性俱乐部纵欲狂欢电影 | 国产又粗又硬又大爽黄老大爷视 | 亚洲午夜久久久影院 | 亚洲第一无码av无码专区 | 国产精品对白交换视频 | 亚洲精品久久久久久久久久久 | 国产人妻精品午夜福利免费 | 欧美老人巨大xxxx做受 | 精品一区二区三区无码免费视频 | 中文字幕乱码中文乱码51精品 | 色情久久久av熟女人妻网站 | 欧美日本免费一区二区三区 | 国产亚洲人成a在线v网站 | 双乳奶水饱满少妇呻吟 | 精品国产乱码久久久久乱码 | 无码av免费一区二区三区试看 | 天天躁日日躁狠狠躁免费麻豆 | 久久久国产精品无码免费专区 | 亚洲国产午夜精品理论片 | 亚洲精品久久久久久久久久久 | 精品乱子伦一区二区三区 | 亚洲精品国产第一综合99久久 | 无码毛片视频一区二区本码 | 国产suv精品一区二区五 | 亚洲热妇无码av在线播放 | 国内揄拍国内精品少妇国语 | 青青青爽视频在线观看 | 亚洲日本va午夜在线电影 | 精品欧美一区二区三区久久久 | 97se亚洲精品一区 | 亚洲熟妇色xxxxx亚洲 | 成人精品视频一区二区三区尤物 | 亚洲国产精品毛片av不卡在线 | 伊人久久大香线焦av综合影院 | 一区二区三区高清视频一 | 日本饥渴人妻欲求不满 | 夜夜高潮次次欢爽av女 | 亚洲s码欧洲m码国产av | 一本久久伊人热热精品中文字幕 | 欧美人与物videos另类 | 1000部啪啪未满十八勿入下载 | 十八禁视频网站在线观看 | 亚洲精品国产第一综合99久久 | 扒开双腿疯狂进出爽爽爽视频 | 性欧美牲交xxxxx视频 | 亚洲а∨天堂久久精品2021 | 日本成熟视频免费视频 | 亚洲精品国产a久久久久久 | 国产香蕉尹人综合在线观看 | 欧美zoozzooz性欧美 | 久久无码专区国产精品s | 男女下面进入的视频免费午夜 | 又大又黄又粗又爽的免费视频 | 亚洲人成人无码网www国产 | 欧洲精品码一区二区三区免费看 | 国产精品怡红院永久免费 | 99久久久无码国产精品免费 | 精品亚洲韩国一区二区三区 | 亚洲男女内射在线播放 | 免费网站看v片在线18禁无码 | 亚洲最大成人网站 | 亚洲一区av无码专区在线观看 | 天天躁日日躁狠狠躁免费麻豆 | 国产亚洲精品久久久久久国模美 | 国产亚洲美女精品久久久2020 | 搡女人真爽免费视频大全 | 国产精品无码永久免费888 | 99久久久无码国产精品免费 | 久久精品女人的天堂av | 久久久婷婷五月亚洲97号色 | 白嫩日本少妇做爰 | 亚洲人成网站色7799 | 精品无码av一区二区三区 | 亚洲色欲色欲欲www在线 | 国产人妻精品一区二区三区不卡 | 亚洲熟妇色xxxxx欧美老妇 | 国产午夜手机精彩视频 | 国产精品毛多多水多 | 亚洲一区二区观看播放 | 伊人色综合久久天天小片 | 巨爆乳无码视频在线观看 | 久久无码人妻影院 | 无套内谢老熟女 | 两性色午夜视频免费播放 | 无码人妻出轨黑人中文字幕 | 欧美老人巨大xxxx做受 | 在线精品亚洲一区二区 | 亚洲精品久久久久久一区二区 | 亚洲天堂2017无码中文 | 亚洲人成网站在线播放942 | 久久久久99精品国产片 | 成人无码视频免费播放 | 狠狠色噜噜狠狠狠狠7777米奇 | 日韩精品成人一区二区三区 | 精品日本一区二区三区在线观看 | 中文字幕av伊人av无码av | 美女毛片一区二区三区四区 | √天堂中文官网8在线 | 欧美一区二区三区视频在线观看 | 久久精品99久久香蕉国产色戒 | 国产办公室秘书无码精品99 | 国产精品永久免费视频 | 色婷婷久久一区二区三区麻豆 | 日本护士xxxxhd少妇 | 粗大的内捧猛烈进出视频 | 女人被男人爽到呻吟的视频 | 夜夜高潮次次欢爽av女 | 无码毛片视频一区二区本码 | 人妻少妇精品无码专区二区 | 欧美激情一区二区三区成人 | 国产无套粉嫩白浆在线 | 成人一在线视频日韩国产 | 一区二区三区高清视频一 | 日本熟妇人妻xxxxx人hd | 日本精品人妻无码免费大全 | 精品无码国产自产拍在线观看蜜 | 国产精品久久精品三级 | 乱人伦人妻中文字幕无码久久网 | 九一九色国产 | av无码不卡在线观看免费 | 女人和拘做爰正片视频 | 少妇性l交大片欧洲热妇乱xxx | 精品夜夜澡人妻无码av蜜桃 | 亚洲aⅴ无码成人网站国产app | 成人亚洲精品久久久久 | 美女黄网站人色视频免费国产 | 色欲综合久久中文字幕网 | 亚洲天堂2017无码中文 | 人人爽人人澡人人人妻 | 欧美国产亚洲日韩在线二区 | 黑森林福利视频导航 | 天堂无码人妻精品一区二区三区 | 日韩少妇内射免费播放 | 成人一区二区免费视频 | 国产成人一区二区三区在线观看 | 欧美怡红院免费全部视频 | 玩弄少妇高潮ⅹxxxyw | 欧美日韩综合一区二区三区 | 午夜免费福利小电影 | 99久久99久久免费精品蜜桃 | 色综合视频一区二区三区 | 亚洲精品一区二区三区在线观看 | 99久久亚洲精品无码毛片 | 色婷婷av一区二区三区之红樱桃 | 色综合久久久无码中文字幕 | 亚洲の无码国产の无码步美 | 中文字幕日产无线码一区 | av人摸人人人澡人人超碰下载 | 午夜成人1000部免费视频 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲欧美日韩国产精品一区二区 | 亚洲爆乳无码专区 | 国产97在线 | 亚洲 | 日本精品少妇一区二区三区 | 中文字幕av无码一区二区三区电影 | 国产绳艺sm调教室论坛 | 无遮无挡爽爽免费视频 | 精品人妻中文字幕有码在线 | 亚洲熟妇色xxxxx欧美老妇 | 日韩精品无码一本二本三本色 | 5858s亚洲色大成网站www | 夫妻免费无码v看片 | 国产97在线 | 亚洲 | 无码一区二区三区在线观看 | 红桃av一区二区三区在线无码av | 男女作爱免费网站 | 一个人看的视频www在线 | 亚洲欧洲中文日韩av乱码 | 欧洲熟妇色 欧美 | 亚洲人成人无码网www国产 | 日本精品人妻无码免费大全 | 丝袜人妻一区二区三区 | 亚洲国产精品久久久久久 | 亚洲精品无码人妻无码 | 亚洲综合无码久久精品综合 | 久久无码中文字幕免费影院蜜桃 | 欧美 亚洲 国产 另类 | 久久久精品国产sm最大网站 | 精品熟女少妇av免费观看 | 中文字幕+乱码+中文字幕一区 | 少妇的肉体aa片免费 | 野狼第一精品社区 | 曰本女人与公拘交酡免费视频 | 天海翼激烈高潮到腰振不止 | 免费人成网站视频在线观看 | 午夜无码人妻av大片色欲 | 国产成人一区二区三区在线观看 | 在教室伦流澡到高潮hnp视频 | 亚洲另类伦春色综合小说 | 亚洲精品一区二区三区四区五区 | 欧美成人高清在线播放 | 久久久久久久女国产乱让韩 | 久久午夜夜伦鲁鲁片无码免费 | 亚洲欧美国产精品久久 | 国内精品人妻无码久久久影院蜜桃 | 欧美freesex黑人又粗又大 | 欧洲精品码一区二区三区免费看 | 亚洲国产精品久久人人爱 | 99久久久国产精品无码免费 | 国产乱人伦av在线无码 | 又湿又紧又大又爽a视频国产 | 少妇久久久久久人妻无码 | 欧美人与动性行为视频 | 中文字幕乱码人妻二区三区 | 曰韩无码二三区中文字幕 | 国产午夜亚洲精品不卡 | 波多野结衣乳巨码无在线观看 | 激情五月综合色婷婷一区二区 | 国产69精品久久久久app下载 | 巨爆乳无码视频在线观看 | 精品国产麻豆免费人成网站 | 无码纯肉视频在线观看 | 一本久道久久综合狠狠爱 | 久久精品国产精品国产精品污 | 老熟妇乱子伦牲交视频 | 久久婷婷五月综合色国产香蕉 | 日本一区二区三区免费播放 | 国产超碰人人爽人人做人人添 | 日韩亚洲欧美精品综合 | 最新国产乱人伦偷精品免费网站 | 久久人人爽人人爽人人片ⅴ | 全球成人中文在线 | 亚洲gv猛男gv无码男同 | 午夜福利一区二区三区在线观看 | 人妻少妇精品无码专区二区 | 国产精品怡红院永久免费 | 曰本女人与公拘交酡免费视频 | 乌克兰少妇性做爰 | 狂野欧美性猛xxxx乱大交 | 精品午夜福利在线观看 | 永久免费观看美女裸体的网站 | 亚洲成av人在线观看网址 | 精品国偷自产在线视频 | 麻豆精产国品 | 免费观看激色视频网站 | 日韩 欧美 动漫 国产 制服 | 国产人妻精品一区二区三区 | 欧美日韩久久久精品a片 | 色综合久久88色综合天天 | 小泽玛莉亚一区二区视频在线 | 欧美喷潮久久久xxxxx | 亚洲精品久久久久avwww潮水 | 少妇无码av无码专区在线观看 | 日日夜夜撸啊撸 | 麻豆国产人妻欲求不满谁演的 | 国产精品久久久 | 国产精品久久久一区二区三区 | 给我免费的视频在线观看 | a片在线免费观看 | 国产精品对白交换视频 | 亚洲国产av精品一区二区蜜芽 | 日本爽爽爽爽爽爽在线观看免 | 亚洲国产av精品一区二区蜜芽 | 国产97在线 | 亚洲 | 美女毛片一区二区三区四区 | 乱中年女人伦av三区 | 网友自拍区视频精品 | 精品少妇爆乳无码av无码专区 | 娇妻被黑人粗大高潮白浆 | 伊人久久大香线焦av综合影院 | 亚洲中文字幕乱码av波多ji | 老司机亚洲精品影院无码 | 国产精品无码一区二区桃花视频 | 99精品久久毛片a片 | 日日碰狠狠躁久久躁蜜桃 | 真人与拘做受免费视频一 | 内射爽无广熟女亚洲 | 美女毛片一区二区三区四区 | 嫩b人妻精品一区二区三区 | 亚洲欧美日韩成人高清在线一区 | 久久精品人人做人人综合 | 九月婷婷人人澡人人添人人爽 | 久久久久久久人妻无码中文字幕爆 | 精品午夜福利在线观看 | 国产精品a成v人在线播放 | 亚洲精品国产精品乱码不卡 | 亚洲毛片av日韩av无码 | 国产绳艺sm调教室论坛 | 一本久久a久久精品vr综合 | 亚洲爆乳大丰满无码专区 | 国产suv精品一区二区五 | 欧美喷潮久久久xxxxx | 台湾无码一区二区 | 国产精品第一国产精品 | 欧洲美熟女乱又伦 | 日本va欧美va欧美va精品 | 国内精品人妻无码久久久影院蜜桃 | 午夜精品久久久久久久久 | 亚洲 高清 成人 动漫 | 4hu四虎永久在线观看 | 青春草在线视频免费观看 | 亚洲国产欧美日韩精品一区二区三区 | 999久久久国产精品消防器材 | 欧美xxxx黑人又粗又长 | 亚洲精品久久久久久久久久久 | 午夜丰满少妇性开放视频 | 亚洲精品久久久久久一区二区 | 国产色精品久久人妻 | 嫩b人妻精品一区二区三区 | 一本大道伊人av久久综合 | 99久久久国产精品无码免费 | 丝袜足控一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 草草网站影院白丝内射 | 国产av久久久久精东av | 国产精品办公室沙发 | 免费国产成人高清在线观看网站 | 日本熟妇大屁股人妻 | 国产精品沙发午睡系列 | 男人扒开女人内裤强吻桶进去 | 无码国模国产在线观看 | 亚洲一区二区三区香蕉 | 天堂а√在线中文在线 | 最近的中文字幕在线看视频 | 亚洲乱码中文字幕在线 | 精品久久久久久亚洲精品 | 无码国产色欲xxxxx视频 | 红桃av一区二区三区在线无码av | 女高中生第一次破苞av | 高潮喷水的毛片 | 国产精品亚洲专区无码不卡 | 亚洲の无码国产の无码影院 | 色偷偷人人澡人人爽人人模 | 日产精品高潮呻吟av久久 | 亚洲 日韩 欧美 成人 在线观看 | 中文字幕精品av一区二区五区 | 国产精品99爱免费视频 | 国产亚洲精品久久久久久久久动漫 | 欧美丰满熟妇xxxx | 精品成人av一区二区三区 | 六月丁香婷婷色狠狠久久 | 在线精品国产一区二区三区 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | av小次郎收藏 | 狠狠色色综合网站 | 曰本女人与公拘交酡免费视频 | 国精品人妻无码一区二区三区蜜柚 | 国产精品久久久久久久9999 | 宝宝好涨水快流出来免费视频 | 亚洲精品国偷拍自产在线麻豆 | 无码av中文字幕免费放 | 国产真实伦对白全集 | 日欧一片内射va在线影院 | 久久婷婷五月综合色国产香蕉 | 国产精品va在线观看无码 | 精品人妻av区 | 久久久久久av无码免费看大片 | 成人无码影片精品久久久 | 午夜精品久久久内射近拍高清 | 亚洲成a人片在线观看无码3d | 久久99精品久久久久久动态图 | 久久婷婷五月综合色国产香蕉 | 久久无码专区国产精品s | 欧美国产日韩亚洲中文 | 少妇性荡欲午夜性开放视频剧场 | 国产无遮挡又黄又爽又色 | 国产精品18久久久久久麻辣 | 国产精品亚洲а∨无码播放麻豆 | 精品久久久久久人妻无码中文字幕 | 99精品久久毛片a片 | 波多野结衣av一区二区全免费观看 | 久久久久久久女国产乱让韩 | 欧美激情综合亚洲一二区 | 欧洲精品码一区二区三区免费看 | 亚洲日本va午夜在线电影 | 国产精品沙发午睡系列 | 国产区女主播在线观看 | 欧美成人免费全部网站 | 蜜臀av无码人妻精品 | 国产一区二区不卡老阿姨 | 成人片黄网站色大片免费观看 | 亚洲国产成人av在线观看 | 天下第一社区视频www日本 | 日本又色又爽又黄的a片18禁 | 乌克兰少妇xxxx做受 | 日本xxxx色视频在线观看免费 | 无码人妻久久一区二区三区不卡 | 国产97人人超碰caoprom | 特级做a爰片毛片免费69 | av无码不卡在线观看免费 | 久久精品女人天堂av免费观看 | 扒开双腿吃奶呻吟做受视频 | 亚洲精品中文字幕 | 老司机亚洲精品影院 | 国产特级毛片aaaaaaa高清 | 国产精品人妻一区二区三区四 | 亚洲精品一区二区三区四区五区 | 亚洲精品国偷拍自产在线观看蜜桃 | 老熟妇仑乱视频一区二区 | 狠狠色丁香久久婷婷综合五月 | 日本一区二区更新不卡 | 无码人妻丰满熟妇区毛片18 | 国产精品亚洲专区无码不卡 | 黑人粗大猛烈进出高潮视频 | 秋霞成人午夜鲁丝一区二区三区 | 国产精品二区一区二区aⅴ污介绍 | 国产亚洲精品精品国产亚洲综合 | 丰满少妇高潮惨叫视频 | 亚洲精品成人福利网站 | 麻豆国产人妻欲求不满谁演的 | 成人亚洲精品久久久久软件 | 日本又色又爽又黄的a片18禁 | 亚洲小说图区综合在线 | 丰满少妇人妻久久久久久 | 牲交欧美兽交欧美 | 国内精品九九久久久精品 | 亚洲综合另类小说色区 | 2019午夜福利不卡片在线 |